diff --git a/Shadowrun4thEdition/Shadowrun4thEdition.css b/Shadowrun4thEdition/Shadowrun4thEdition.css new file mode 100644 index 0000000000..632b08201a --- /dev/null +++ b/Shadowrun4thEdition/Shadowrun4thEdition.css @@ -0,0 +1,2683 @@ +/* ABSTRACTS + ============================= */ +/* BASE + ============================= */ +* { + box-sizing: border-box; + font-family: sans-serif; } + +button { + background-image: none; + font-size: 0.8em; + text-shadow: none; } + button[type='roll'], button[type='action'] { + font-size: 1em; + margin: 0px !important; + padding: 1px 2px; + border-bottom: 0.01em solid #666; + border-bottom-right-radius: 0.01em; + border-color: #b3b3b3; + border-radius: 0.25em !important; + border-right: 0.02em solid #333333; + border-style: outset; } + button[type='roll']:hover, button[type='roll']:focus, button[type='roll']:active, button[type='action']:hover, button[type='action']:focus, button[type='action']:active { + font-weight: bold; + background-color: #1e4583; + color: #fff; } + button[type='roll']:hover > span, button[type='roll']:focus > span, button[type='roll']:active > span, button[type='action']:hover > span, button[type='action']:focus > span, button[type='action']:active > span { + color: #fff; } + button[type='roll'].sheet-pictos, .sheet-cc-row button[type='roll'][name*='shots'], .sheet-cc-row button[type='roll'][name='act_reload'], .sheet-cc-row button[type='roll'][name='act_primary_ammo'], .repcontrol button[type='roll'].repcontrol_edit:after, + .repcontrol button[type='roll'].repcontrol_add:after, .itemcontrol button[type='roll'].repcontrol_del, button[type='action'].sheet-pictos, .sheet-cc-row button[type='action'][name*='shots'], .sheet-cc-row button[type='action'][name='act_reload'], .sheet-cc-row button[type='action'][name='act_primary_ammo'], .repcontrol button[type='action'].repcontrol_edit:after, + .repcontrol button[type='action'].repcontrol_add:after, .itemcontrol button[type='action'].repcontrol_del { + font-family: 'Pictos'; } + button:before { + display: none; } + button > span { + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; } + +div { + background-color: transparent; } + +fieldset { + background: transparent; } + +hr { + border: 0.5px solid #555; } + +label { + display: inline-block; + font-size: 0.9em; + margin-bottom: 0px; + padding-right: 5px; + text-transform: capitalize; + width: auto; } + +input { + background-color: rgba(28, 28, 28, 0.14902); + color: #333; + border: none; + cursor: auto; + font-weight: normal; + margin: 0px; + text-align: center; + vertical-align: middle; } + input[type='text'], input[type='number'] { + height: 20px; } + input[type='text']:placeholder-shown, input[type='number']:placeholder-shown { + border: 1px dotted #555; + background-color: rgba(28, 28, 28, 0.14902); + color: white; } + input[type='text']:hover, input[type='text']:focus, input[type='number']:hover, input[type='number']:focus { + background-color: #afd3e2; + color: #1c1c1c; } + input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; } + +select { + border-radius: 2px; + border: 1px solid #1c1c1c; + box-shadow: inset 0px 0px 3px 1px #7c7c7c; + margin-bottom: 0px; + width: auto; } + select.sheet-attribute-select option:nth-of-type(1n+5) { + color: #1e4583; } + select.sheet-attribute-select option:nth-of-type(1n+9) { + color: #1e4583; } + select.sheet-limit-select option:nth-of-type(1n+5) { + color: #1e4583; } + +span { + white-space: pre-line; + word-break: break-word; } + +textarea { + border-radius: 2px; + border: 1px solid #1c1c1c; + box-shadow: inset 0px 0px 3px 1px #7c7c7c; + height: 50px; + overflow-wrap: break-word; + overflow: hidden; + resize: vertical; + vertical-align: top; + white-space: pre-line; } + +.charsheet { + background: #afd3e2; + background: linear-gradient(90deg, #afd3e2 0%, whitesmoke 17%, white 78%, #afd3e2 100%); + width: 850px; + box-shadow: inset 0px 0px 3px 1px #7c7c7c; + color: #333; } + +input[name='attr_stats_toggle'], +input[name='attr_stats_toggle'] + span { + position: relative; } + +input[name='attr_stats_toggle'] { + opacity: 0; + z-index: 2; } + +.sheet-pc div.sheet-repeating-container div.repitem, .sheet-pc div.sheet-repeating-container div.repitem div.sheet-settings, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.sheet-headers, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.sheet-headers, .sheet-pc div.sheet-skill-box div.sheet-row-long, .sheet-pc div.sheet-arms div.sheet-headers, .sheet-pc div.sheet-magic div.sheet-headers, .sheet-pc div.sheet-matrix div.sheet-complex-forms div.sheet-headers { + grid-column-gap: 1%; + grid-row-gap: 1%; } + +.sheet-npc div.sheet-repeating input[name='attr_flag'] + span { + opacity: 0; } +.sheet-npc div.sheet-repeating input[name='attr_flag']:checked + span { + opacity: 1; } +.sheet-npc div.sheet-repeating input[name='attr_flag']:checked ~ .sheet-settings { + display: inline-grid; + margin-bottom: 2%; } + +.sheet-npc div.sheet-end div.sheet-weapons span[name='attr_weapon_dice'], .sheet-npc div.sheet-end div.sheet-spells span[name='attr_dice'], .sheet-npc div.sheet-end div.sheet-forms span[name='attr_form_dice'], .sheet-npc div.sheet-end div.sheet-ic span[name='attr_software_dice'] { + vertical-align: middle; } + .sheet-npc div.sheet-end div.sheet-weapons span[name='attr_weapon_dice']:before, .sheet-npc div.sheet-end div.sheet-spells span[name='attr_dice']:before, .sheet-npc div.sheet-end div.sheet-forms span[name='attr_form_dice']:before, .sheet-npc div.sheet-end div.sheet-ic span[name='attr_software_dice']:before { + content: '('; } + .sheet-npc div.sheet-end div.sheet-weapons span[name='attr_weapon_dice']:after, .sheet-npc div.sheet-end div.sheet-spells span[name='attr_dice']:after, .sheet-npc div.sheet-end div.sheet-forms span[name='attr_form_dice']:after, .sheet-npc div.sheet-end div.sheet-ic span[name='attr_software_dice']:after { + content: ')'; } + +.sheet-npc div.sheet-repeating input[name='attr_flag'], +input.sheet-toggle { + position: absolute; + opacity: 0; + z-index: 2; } + +.sheet-pc input.sheet-settings-toggle, +.sheet-pc input.sheet-settings-flag, +.sheet-pc input.sheet-collapse-flag, +.sheet-pc input[type='radio'] { + position: relative; + opacity: 0; + z-index: 2; } + +.sheet-pc div.sheet-repeating-container div.repitem, .sheet-pc div.sheet-repeating-container div.repitem input[type='text'], .sheet-pc div.sheet-repeating-container div.repitem input[type='number'], .sheet-pc div.sheet-skill-box label > input, .sheet-pc div.sheet-skill-box input[name='attr_skill'], .sheet-pc div.sheet-matrix div.sheet-programs div.repitem { + border-bottom: 1px solid #333; } + +.sheet-red { + color: #1e4583; } + +.sheet-eclipse { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + +.sheet-text-align-center, +.sheet-center { + text-align: center; } + +.sheet-text-capitalize { + text-transform: capitalize; } + +.sheet-text-left { + text-align: left; } + +.sheet-pictos, .sheet-settings-toggle input[type='checkbox'] + span, +.sheet-settings-flag input[type='checkbox'] + span, .sheet-cc-row button[name*='shots'], .sheet-cc-row button[name='act_reload'], .sheet-cc-row button[name='act_primary_ammo'], .repcontrol .repcontrol_edit:after, +.repcontrol .repcontrol_add:after, .editmode ~ .repcontrol .repcontrol_edit:after, .itemcontrol .repcontrol_del { + font-family: 'Pictos'; } + +.sheet-pictos-custom, +span.sheet-pictos-custom { + font-family: 'Pictos Custom'; } + +span.sheet-pictos3 { + font-family: 'Pictos Three'; } + +span.sheet-d6 { + font-family: 'dicefontd6'; } + +.sheet-font-bold { + font-weight: bold; } + +/* SWITCHES + ============================= */ +/* The switch - the box around the slider */ +.sheet-switch { + position: relative; + display: inline-block; + width: 50px; + height: 24px; + /* Hide default HTML checkbox */ } + .sheet-switch input { + opacity: 0; + width: 0; + height: 0; } + +/* The slider */ +.sheet-slider { + -webkit-transition: .4s; + background-color: #ccc; + border-radius: 34px; + bottom: 0; + cursor: pointer; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: .4s; } + .sheet-slider:before { + -webkit-transition: .4s; + background-color: white; + border-radius: 50%; + bottom: 4px; + content: ""; + height: 16px; + left: 4px; + position: absolute; + transition: .4s; + width: 16px; } + +input:checked + .sheet-slider { + background-color: #1c1c1c; } + +input:focus + .sheet-slider { + box-shadow: 0 0 1px #1c1c1c; } + +input:checked + .sheet-slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); } + +.sheet-tabs button { + background-color: #1c1c1c; + border-radius: 2px; + border: 1px solid #000; + font-size: 1em; + font-weight: bolder; + text-transform: capitalize; + padding: 5px; } + .sheet-tabs button[type='action'] { + box-shadow: inset 0px 0px 3px 1px #7c7c7c; + color: #fff; } + .sheet-tabs button.sheet-pictos, .sheet-tabs .sheet-cc-row button[name*='shots'], .sheet-cc-row .sheet-tabs button[name*='shots'], .sheet-tabs .sheet-cc-row button[name='act_reload'], .sheet-cc-row .sheet-tabs button[name='act_reload'], .sheet-tabs .sheet-cc-row button[name='act_primary_ammo'], .sheet-cc-row .sheet-tabs button[name='act_primary_ammo'], .sheet-tabs .repcontrol button.repcontrol_edit:after, .repcontrol .sheet-tabs button.repcontrol_edit:after, + .sheet-tabs .repcontrol button.repcontrol_add:after, + .repcontrol .sheet-tabs button.repcontrol_add:after, .sheet-tabs .itemcontrol button.repcontrol_del, .itemcontrol .sheet-tabs button.repcontrol_del { + text-transform: lowercase; } + .sheet-tabs button[type='roll'] { + background: none; + border: none; + font-family: 'dicefontd6'; + font-size: 2.5em; + vertical-align: top; } + .sheet-tabs button[type='roll']:hover { + text-shadow: 1px 1px 2px black, 0 0 25px #1e4583, 0 0 5px #7c7c7c; + color: #fff; } +.sheet-tabs h2 { + font-size: 1em; + text-transform: capitalize; + text-align: right; + line-height: 2em; + margin-right: 5%; } + +/***** TABS FOR SHEETS *****/ +.sheet-settings-toggle input, +.sheet-settings-flag input { + width: 3em; } +.sheet-settings-toggle input[type='checkbox'] + span, +.sheet-settings-flag input[type='checkbox'] + span { + background: transparent; + font-size: 20px; + height: 20px; + text-align: center; + width: 20px; } + +/***************************************************************************************/ +/************************** START OF THE PC SHEET *************************************/ +/*************************************************************************************/ +.sheet-pc { + margin-left: -1%; + padding-left: 0.5%; + /***** DECORATIVE BOX THAT ADDS THE RED OUTLINE ON PC SHEET *****/ + /***** REPEATING CONTAINERS *****/ + /***** STATIC *****/ + /***** CORE *****/ + /***** SKILLS *****/ + /*** ARMS ****/ + /*** AUGS ****/ + /*** GEAR ****/ + /***** MAGIC *****/ + /*** MATRIX ****/ + /*** SOCIAL ****/ + /*** Vehicle ****/ + /***** SECONDARY HEADERS LIKE ON SKILLS *****/ } + .sheet-pc button > h2:hover, + .sheet-pc button > span:hover, + .sheet-pc label > button[type='roll']:hover, + .sheet-pc .sheet-repeat-box button[type='roll']:hover, + .sheet-pc .sheet-con-track button[type='action']:hover, + .sheet-pc button[data-i18n='default']:hover { + color: #fff; + text-shadow: 1px 1px 2px black, 0 0 25px #1e4583, 0 0 5px #afd3e2; } + .sheet-pc h1 { + background-color: #afd3e2; + font-size: 1em; + letter-spacing: 2px; + line-height: 20px; + padding-left: 5px; + padding-right: 5px; + text-transform: uppercase; } + .sheet-pc h2 { + font-size: 0.9em; + line-height: 25px; + text-transform: capitalize; } + .sheet-pc h3 { + color: rgba(51, 51, 51, 0.59); + font-size: 0.8em; + text-transform: capitalize; } + .sheet-pc hr { + margin: 7px 0px -2px 0px; } + .sheet-pc input { + border-radius: 0px; } + .sheet-pc .sheet-tabs { + grid-template-columns: 1fr 5em 1fr 5em 2.5em 5em 5em 5em 5em 5em 5em 5em; + grid-column-gap: 0.25%; + padding: 0px 1% 3% 1%; + margin-top: 1%; + grid-row-gap: 10%; + /***** PLAYER DATA INPUTS *****/ } + .sheet-pc .sheet-tabs button[type='roll'] { + grid-area: 2 / 5 / 2 / 5; } + .sheet-pc .sheet-tabs h1 { + background-color: transparent; + display: inline-block; + font-size: 1em; + grid-column: 6 / 8; + letter-spacing: 2px; + line-height: 20px; + margin-left: 5%; + text-align: right; + text-transform: uppercase; } + .sheet-pc .sheet-tabs h2[data-i18n-title='/w GM'] { + grid-area: 2 / 1 / 2 / 1; } + .sheet-pc .sheet-tabs h2[data-i18n-title='wounds'] { + grid-area: 2 / 3 / 2 / 4; } + .sheet-pc .sheet-tabs h2[data-i18n-title='modifiers'] { + grid-area: 3 / 1 / 3 / 1; } + .sheet-pc .sheet-tabs h2[data-i18n-title='edge'] { + grid-area: 3 / 3 / 3 / 4; } + .sheet-pc .sheet-tabs img { + grid-area: 1 / 1 / 2 / 6; + height: 100%; + width: 100%; } + .sheet-pc .sheet-tabs label[data-i18n-title='character name'] > input[type='text'], .sheet-pc .sheet-tabs label[data-i18n-title='player name'] > input[type='text'] { + font-weight: bolder; + background-color: transparent; + border: none; + box-shadow: none; + border-bottom: 2px solid rgba(28, 28, 28, 0.14902); + border-radius: 0px; + height: 30px; + width: 100%; + grid-column: 4; } + .sheet-pc .sheet-tabs label[data-i18n-title='character name'] { + grid-area: 1 / 8 / 1 / 14; } + .sheet-pc .sheet-tabs label[data-i18n-title='player name'] { + grid-area: 2 / 8 / 2 / 14; } + .sheet-pc .sheet-tabs label[data-i18n-title='whisper rolls to gm'] { + grid-area: 2 / 2 / 2 / 3; } + .sheet-pc .sheet-tabs label[data-i18n-title='wounds'] { + grid-area: 2 / 4 / 2 / 5; } + .sheet-pc .sheet-tabs label[data-i18n-title='modifiers'] { + grid-area: 3 / 2 / 3 / 3; } + .sheet-pc .sheet-tabs label[data-i18n-title='edge'] { + grid-area: 3 / 4 / 3 / 5; } + .sheet-pc input.sheet-settings-toggle + span, + .sheet-pc input.sheet-settings-flag + span, + .sheet-pc input.sheet-collapse-flag + span, + .sheet-pc input[type='radio'] + span { + font-family: 'pictos'; } + .sheet-pc input.sheet-settings-toggle:checked + span, + .sheet-pc input.sheet-settings-flag:checked + span, + .sheet-pc input.sheet-collapse-flag:checked + span, + .sheet-pc input[type='radio']:checked + span { + color: #1e4583; } + .sheet-pc select { + height: 1.8em; + padding: 0px; + color: #333; } + .sheet-pc div.sheet-core-info h2 { + margin-right: 1%; } + .sheet-pc div.sheet-core-info input[type='text'], .sheet-pc div.sheet-core-info input[type='number'] { + background-color: transparent; + border: none; } + .sheet-pc div.sheet-core-info input[type='text']:placeholder-shown, .sheet-pc div.sheet-core-info input[type='number']:placeholder-shown { + background-color: rgba(28, 28, 28, 0.14902); } + .sheet-pc input.sheet-display-flag { + position: absolute; } + .sheet-pc select.sheet-attribute-select { + margin-top: 1%; } + .sheet-pc div.sheet-border-box { + background-image: -moz-linear-gradient(#1e4583, transparent), -moz-linear-gradient(#1e4583, transparent); + background-image: -o-linear-gradient(#1e4583, transparent), -o-linear-gradient(#1e4583, transparent); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#1e4583), to(transparent)); + background-image: -webkit-linear-gradient(#1e4583, transparent); + background-image: linear-gradient(#1e4583, transparent), linear-gradient(#1e4583, transparent); + border-top: 2px solid #afd3e2; + clear: both; + border-top-right-radius: 10px; + border-top-left-radius: 0px; } + .sheet-pc div.sheet-border-box button[type='roll'] { + font-size: 0.8em; + font-weight: bold; } + .sheet-pc div.sheet-border-box div.sheet-pc-box { + border-top-right-radius: 10px; + border-top-left-radius: 0px; } + .sheet-pc div.sheet-repeating-container div.repitem { + display: inline-grid; + padding: 1% 0.5%; + margin-bottom: 0px; } + .sheet-pc div.sheet-repeating-container div.repitem button[type='roll'] { + text-align: left; } + .sheet-pc div.sheet-repeating-container div.repitem input:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-repeating-container div.repitem input[type='text'], .sheet-pc div.sheet-repeating-container div.repitem input[type='number'] { + width: 100%; } + .sheet-pc div.sheet-repeating-container div.repitem label { + padding-right: 0px; } + .sheet-pc div.sheet-repeating-container div.repitem label input[name='attr_name'], + .sheet-pc div.sheet-repeating-container div.repitem label input[name='attr_weapon'], + .sheet-pc div.sheet-repeating-container div.repitem label input[name='attr_quality'] { + text-align: left; } + .sheet-pc div.sheet-repeating-container div.repitem label[data-i18n-title='modifier'] { + width: 3em; } + .sheet-pc div.sheet-repeating-container div.repitem div.sheet-settings { + background-color: #cccccc; + border-left: 2px solid #555; + padding: 2% 1%; + width: 100%; } + .sheet-pc div.sheet-repeating-container div.repitem div.sheet-settings select { + text-transform: capitalize; } + .sheet-pc div.sheet-repeating-container div.repitem div.sheet-collapse { + padding-left: 5%; } + .sheet-pc div.repitem { + width: 100%; } + .sheet-pc div.repitem input[type='number'] { + text-align: center; } + .sheet-pc div.sheet-static { + margin-right: 0.5%; } + .sheet-pc div.sheet-static div.sheet-border-box, + .sheet-pc div.sheet-static div.sheet-border-box .sheet-pc-box { + border-top-right-radius: 0px; + border-top-left-radius: 10px; } + .sheet-pc div.sheet-core { + /***** QUALITIES *****/ } + .sheet-pc div.sheet-core div.sheet-armor-buttons { + display: inline-block; + font-size: 1.5em; + line-height: 20px; + margin-left: 1%; + width: 35%; } + .sheet-pc div.sheet-core div.sheet-armor-buttons button[type='roll'] { + margin-right: -5px; } + .sheet-pc div.sheet-core div.sheet-armor-buttons button[name='roll_defense'] { + background-color: #555; + color: #fff; } + .sheet-pc div.sheet-core div.sheet-armor-buttons span { + font-size: 1em; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-htab input[type='radio'] { + margin-right: -100px; + width: 100px; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-header:nth-of-type(2) .sheet-htab input[type='radio'] { + margin-right: -150px; + width: 150px; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality h2:nth-of-type(2) { + text-align: center; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.sheet-headers { + display: grid; + grid-template-columns: 1fr 3em 1.5em 1em 1em; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem { + grid-template-columns: 1fr 3em 1.5em 1em 1em; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-collapse-flag { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-quality div.repitem div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: 1fr 3em 1.5em 1em 1em; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial h2:nth-of-type(2) { + text-align: center; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.sheet-headers { + display: grid; + grid-template-columns: 2fr 1fr 1.5em 1em 1em; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem { + grid-template-columns: 2fr 1fr 1.5em 1em 1em; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-collapse-flag { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-core div.sheet-quality-box div.sheet-martial div.repitem div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: 2fr 1fr 1.5em 1em 1em; } + .sheet-pc div.sheet-skill-box h2:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-skill-box label { + display: inline-block; + font-size: 0.8em; + text-transform: capitalize; } + .sheet-pc div.sheet-skill-box label[data-i18n-title='ratingmodifier'] { + grid-area: 1 / 3 / 1 / 7; + width: 100%; } + .sheet-pc div.sheet-skill-box label[data-i18n-title='ratingmodifier'] input[type='number'] { + width: 3em; } + .sheet-pc div.sheet-skill-box label[data-i18n-title='specialization'] { + grid-area: 3 / 1 / 3 / 7; } + .sheet-pc div.sheet-skill-box label[data-i18n-title='notes'], .sheet-pc div.sheet-skill-box label textarea { + grid-area: 4 / 1 / 4 / 7; } + .sheet-pc div.sheet-skill-box label > input { + text-align: left; + border-radius: 0px; + width: 100%; } + .sheet-pc div.sheet-skill-box div.sheet-buttons { + display: grid; + grid-template-columns: 1.5fr 1.5fr; + overflow: hidden; } + .sheet-pc div.sheet-skill-box input[name='attr_specialization'][value=''] ~ div.sheet-buttons { + grid-template-columns: 1fr; } + .sheet-pc div.sheet-skill-box input[name='attr_rating_modifier'] { + width: 3.5em; } + .sheet-pc div.sheet-skill-box div.sheet-row-long { + grid-template-columns: 1fr 3.5em 5em 1em 1em; + padding: 1% 0.5%; + width: 100%; } + .sheet-pc div.sheet-skill-box div.sheet-row-long h3:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-skill-box option.sheet-option-headers { + opacity: 0.2; } + .sheet-pc div.sheet-skill-box option.sheet-option-groups { + font-size: 1em; + font-style: italic; } + .sheet-pc div.sheet-skill-box div.repitem { + grid-template-columns: 1fr 3.5em 5em 1em 1em; } + .sheet-pc div.sheet-skill-box div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-skill-box div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-skill-box div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-skill-box div.repitem input.sheet-collapse-flag { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-skill-box div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-skill-box div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-skill-box div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-skill-box div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-skill-box div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-skill-box div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-skill-box div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-skill-box div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-skill-box div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-skill-box div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-skill-box div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-skill-box div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-skill-box div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-skill-box div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-skill-box div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-skill-box div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-skill-box div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-skill-box div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-skill-box div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-skill-box div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-skill-box div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-skill-box div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-skill-box div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-skill-box div.repitem input[name='attr_damage'], + .sheet-pc div.sheet-skill-box div.repitem input[name='attr_dicepool_modifier'] { + width: 3.5em; } + .sheet-pc div.sheet-skill-box div.repitem div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: 1fr 3.5em 5em 1em 1em; } + .sheet-pc div.sheet-arms div.sheet-headers { + display: grid; } + .sheet-pc div.sheet-arms div.sheet-headers h2:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-arms div.repitem h3 { + color: #333; } + .sheet-pc div.sheet-arms div.repitem input:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-arms div.repitem input.sheet-flag-primary[value='primary'] + button, .sheet-pc div.sheet-arms div.repitem input.sheet-flag-primary[value='primary'] + div.sheet-primary { + background-color: #afd3e2; + border-bottom: 2px solid #333; + border-right: 0; } + .sheet-pc div.sheet-arms div.repitem input.sheet-flag-primary[value='primary'] + button:hover { + background-color: #1e4583; + color: #fff; } + .sheet-pc div.sheet-arms div.repitem div.sheet-primary { + padding: 0.5% 1%; } + .sheet-pc div.sheet-arms div.repitem h2, + .sheet-pc div.sheet-arms div.repitem label.sheet-protections { + width: 11%; } + .sheet-pc div.sheet-arms div.repitem h2:nth-of-type(1n+2), + .sheet-pc div.sheet-arms div.repitem label.sheet-protections:nth-of-type(1n+2) { + margin-left: 2%; } + .sheet-pc div.sheet-arms div.repitem label.sheet-protections > input { + width: 100%; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-headers { + grid-template-columns: 1fr 4em 3em 3em 3em 3em 1em 1em; } + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem { + grid-template-columns: 1fr 4em 3em 3em 3em 3em 1em 1em; } + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem div.sheet-collapse { + grid-column: 1 / 9; } + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-collapse-flag { + grid-area: 1 / 7 / 1 / 8; } + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 7 / 1 / 8; } + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-arms div.sheet-weapons div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 8 / 1 / 9; } + .sheet-pc div.sheet-arms div.sheet-weapons div.repitem div.sheet-settings { + grid-column: 1 / 9; + grid-template-columns: 1fr 4em 3em 3em 3em 3em 1em 1em; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range, + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee { + width: 100%; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range div.sheet-row, + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee div.sheet-row { + grid-column: 1 / 9; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range div.sheet-row label[data-i18n-title="modeoptions"], + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range div.sheet-row label[data-i18n-title="range"], + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee div.sheet-row label[data-i18n-title="modeoptions"], + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee div.sheet-row label[data-i18n-title="range"] { + width: 25%; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range div.sheet-row input[type='number'], + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee div.sheet-row input[type='number'] { + width: 3em; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range div.sheet-row select, + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee div.sheet-row select { + width: 30%; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range div.sheet-exotic-warning, + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee div.sheet-exotic-warning { + display: none; } + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-range input[value='0'] + div.sheet-exotic-warning, + .sheet-pc div.sheet-arms div.sheet-weapons div.sheet-weapon-melee input[value='0'] + div.sheet-exotic-warning { + display: block; } + .sheet-pc div.sheet-arms div.sheet-armor div.sheet-headers { + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-arms div.sheet-armor div.repitem { + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-arms div.sheet-armor div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-arms div.sheet-armor div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-arms div.sheet-armor div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-collapse-flag { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-arms div.sheet-armor div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-arms div.sheet-armor div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-arms div.sheet-armor div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-arms div.sheet-armor div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-arms div.sheet-armor div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-arms div.sheet-armor div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-arms div.sheet-armor div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-arms div.sheet-armor div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-arms div.sheet-armor div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-arms div.sheet-armor div.repitem div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-arms div.sheet-armor div.repitem div.sheet-settings div.sheet-row { + grid-column: 1 / 6; } + .sheet-pc div.sheet-augs div.sheet-headers { + display: grid; + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-augs div.repitem { + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-augs div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-augs div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-augs div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-augs div.repitem input.sheet-collapse-flag { + grid-area: 1/1/1 / 5; + position: absolute; + width: 100%; } + .sheet-pc div.sheet-augs div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-augs div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-augs div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-augs div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-augs div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-augs div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-augs div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-augs div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-augs div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-augs div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-augs div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-augs div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-augs div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-augs div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-augs div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-augs div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-augs div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-augs div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-augs div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-augs div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-augs div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-augs div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-augs div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-augs div.repitem input[name='attr_augementation'] { + text-align: left; } + .sheet-pc div.sheet-augs div.repitem div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-gear div.sheet-headers { + display: grid; + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-gear div.repitem { + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-gear div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-gear div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-gear div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-gear div.repitem input.sheet-collapse-flag { + grid-area: 1/1/1 / 5; + position: absolute; + width: 100%; } + .sheet-pc div.sheet-gear div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-gear div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-gear div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-gear div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-gear div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-gear div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-gear div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-gear div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-gear div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-gear div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-gear div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-gear div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-gear div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-gear div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-gear div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-gear div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-gear div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-gear div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-gear div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-gear div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-gear div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-gear div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-gear div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-gear div.repitem input[name='attr_item'] { + text-align: left; } + .sheet-pc div.sheet-gear div.repitem div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: 1fr 5em 5em 1em 1em; } + .sheet-pc div.sheet-magic { + /***** SPELLS & PREPARTATIONS *****/ + /***** RITUALS *****/ + /***** PREPARATIONS *****/ + /***** ADEPT POWERS *****/ } + .sheet-pc div.sheet-magic h2:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-magic h3 { + color: #333; } + .sheet-pc div.sheet-magic div.sheet-headers { + display: grid; + grid-template-columns: 30% 1.5fr 1.5fr 2fr 2em 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-headers h3:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem { + grid-template-columns: 30% 1.5fr 1.5fr 2fr 2em 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem div.sheet-collapse { + grid-column: 1 / 8; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-collapse-flag { + grid-area: 1 / 6 / 1 / 7; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 6 / 1 / 7; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 7 / 1 / 8; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input[name='attr_damage'], + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem input[name='attr_dicepool_modifier'] { + width: 3.5em; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem select[name='attr_category'] { + grid-row: 2; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem div.sheet-row { + grid-column: 1 / 6; } + .sheet-pc div.sheet-magic div.sheet-spellsForumlas div.repitem div.sheet-settings { + grid-column: 1 / 8; + grid-template-columns: 30% 1.5fr 1.5fr 2fr 2em 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals label[data-i18n-title='notes'], + .sheet-pc div.sheet-magic div.sheet-magic-rituals h3[data-i18n='notes'], + .sheet-pc div.sheet-magic div.sheet-magic-rituals div.sheet-collapse { + grid-column: 1 / 4; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-collapse-flag { + grid-area: 1 / 2 / 1 / 3; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-magic div.sheet-magic-rituals .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-magic-rituals input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-magic div.sheet-magic-rituals .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-magic-rituals input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-magic div.sheet-magic-rituals .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-magic-rituals .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-magic div.sheet-magic-rituals .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 2 / 1 / 3; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-settings-flag, + .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-magic div.sheet-magic-rituals .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-magic-rituals input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-magic-rituals .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-magic-rituals input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-magic-rituals .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-magic-rituals .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-magic div.sheet-magic-rituals .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-magic div.sheet-magic-rituals input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 3 / 1 / 4; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals div.repitem { + grid-template-columns: 1fr 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals div.repitem label[data-i18n-title='name'] { + grid-column: 1 / 4; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals div.repitem div.sheet-row { + grid-column: 1 / 4; } + .sheet-pc div.sheet-magic div.sheet-magic-rituals div.sheet-settings { + grid-template-columns: 1fr 1em 1em; + grid-column: 1 / 4; } + .sheet-pc div.sheet-magic div.sheet-magic-preps textarea, .sheet-pc div.sheet-magic div.sheet-magic-spells textarea { + width: 93%; } + .sheet-pc div.sheet-magic div.sheet-magic-preps { + /* READIED PREPARATIONS */ } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.sheet-headers { + grid-template-columns: 40% 1fr 1fr 2fr 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem { + grid-template-columns: 40% 1fr 1fr 2fr 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem div.sheet-collapse { + grid-column: 1 / 7; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-collapse-flag { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 6 / 1 / 7; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem div.sheet-settings { + grid-column: 1 / 7; + grid-template-columns: 40% 1fr 1fr 2fr 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem div.sheet-settings select { + grid-column: 4 / 7; } + .sheet-pc div.sheet-magic div.sheet-magic-preps div.sheet-prepared-preparations div.repitem div.sheet-settings textarea { + width: 100%; } + .sheet-pc div.sheet-magic div.sheet-powers div.sheet-headers { + grid-template-columns: 1fr 3em 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-powers div.repitem { + grid-template-columns: 1fr 3em 1em 1em; } + .sheet-pc div.sheet-magic div.sheet-powers div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-magic div.sheet-powers div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-magic div.sheet-powers div.repitem div.sheet-collapse { + grid-column: 1 / 5; } + .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-collapse-flag { + grid-area: 1/1/1 / 4; + position: absolute; + width: 100%; } + .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-magic div.sheet-powers div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-powers div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-powers div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-magic div.sheet-powers div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-magic div.sheet-powers div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 3 / 1 / 4; } + .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-magic div.sheet-powers div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-magic div.sheet-powers div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-magic div.sheet-powers div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-magic div.sheet-powers div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-magic div.sheet-powers div.repitem div.sheet-settings { + grid-column: 1 / 5; + grid-template-columns: 1fr 3em 1em 1em; } + .sheet-pc div.sheet-matrix h3 { + color: #333; } + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem { + grid-template-columns: auto 1fr auto 1fr; } + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-collapse-flag { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem input:not([value='']) { + background-color: transparent; } + .sheet-pc div.sheet-matrix div.sheet-commlinks div.repitem .sheet-con-hex { + grid-column: 1 / 5; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem { + grid-template-columns: 1em 1fr 1.5em 1em; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem div.sheet-collapse { + grid-column: 1 / 6; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-collapse-flag { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[name='attr_program_on'] { + grid-area: 1 / 1 / 1 / 1; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[name='attr_program_on']:checked + span { + color: #1e4583; + font-weight: bolder; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[name='attr_program_on']:checked + span + span { + font-weight: bolder; } + .sheet-pc div.sheet-matrix div.sheet-programs div.repitem input[name='attr_program_on'] + span { + grid-area: 1 / 1 / 1 / 1; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings { + grid-column: 1 / 6; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(1) { + grid-column: 1 / 4; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(1) > label { + width: 100%; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(2) { + grid-column: 4 / 6; + text-align: center; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(2) > label { + width: 3em; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(3) { + grid-area: 2 / 1 / 2 / 3; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(4) { + grid-area: 2 / 3 / 2 / 4; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(5) { + grid-column: 4 / 6; + text-align: center; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings div.sheet-col:nth-of-type(5) > label { + width: 3em; } + .sheet-pc div.sheet-matrix div.sheet-programs div.sheet-settings input[type='text'] { + grid-column: 1 / 4; + text-align: left; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.sheet-headers { + display: grid; + grid-template-columns: 30% 1fr 1fr 4em 1em 1em; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.sheet-headers h2:nth-of-type(1n+2) { + text-align: center; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem { + grid-template-columns: 30% 1fr 1fr 4em 1em 1em; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem div.sheet-collapse { + grid-column: 1 / 7; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-collapse-flag { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 5 / 1 / 6; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 6 / 1 / 7; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem div.sheet-row { + grid-column: 1 / 7; } + .sheet-pc div.sheet-matrix div.sheet-complex-forms div.repitem div.sheet-settings { + grid-column: 1 / 7; + grid-template-columns: 30% 1fr 1fr 4em 1em 1em; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem { + grid-template-columns: 1fr 1.5em 1em 1em; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem div.sheet-collapse { + grid-column: 1 / 5; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-collapse-flag { + grid-area: 1 / 3 / 1 / 4; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 3 / 1 / 4; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 4 / 1 / 5; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem div.sheet-collapse { + padding-left: 2%; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem div.sheet-collapse h3 { + margin-right: 1%; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem div.sheet-settings { + grid-column: 1 / 5; + padding: 1% 2% 5% 2%; + min-height: 300px; } + .sheet-pc div.sheet-social div.sheet-lifestyle div.repitem div.sheet-settings textarea { + height: 45px; + min-height: 45px; } + .sheet-pc div.sheet-social div.sheet-contacts div.sheet-headers { + display: grid; + grid-template-columns: 1fr 4em 5.5em 4em 1.5em 1em 1em; + grid-column-gap: 1%; + width: 100%; } + .sheet-pc div.sheet-social div.sheet-contacts div.repitem { + grid-template-columns: 1fr 4em 5.5em 4em 1.5em 1em 1em; } + .sheet-pc div.sheet-social div.sheet-contacts div.repitem label[data-i18n-title='notes'], + .sheet-pc div.sheet-social div.sheet-contacts div.repitem h3[data-i18n='notes'], + .sheet-pc div.sheet-social div.sheet-contacts div.repitem div.sheet-collapse { + grid-column: 1 / 8; } + .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-collapse-flag { + grid-area: 1 / 6 / 1 / 7; } + .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-collapse-flag + span.sheet-pictos, .sheet-pc div.sheet-social div.sheet-contacts div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-collapse-flag + span, .sheet-settings-toggle .sheet-pc div.sheet-social div.sheet-contacts div.repitem input[type='checkbox'].sheet-collapse-flag + span, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem .sheet-settings-flag input[type='checkbox'].sheet-collapse-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-social div.sheet-contacts div.repitem input[type='checkbox'].sheet-collapse-flag + span, .sheet-pc div.sheet-social div.sheet-contacts div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_edit:after, .repcontrol .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-collapse-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem .repcontrol input.sheet-collapse-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-collapse-flag + span.repcontrol_add:after, .sheet-pc div.sheet-social div.sheet-contacts div.repitem .itemcontrol input.sheet-collapse-flag + span.repcontrol_del, .itemcontrol .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-collapse-flag + span.repcontrol_del { + grid-area: 1 / 6 / 1 / 7; } + .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-settings-flag, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-settings-flag + span.sheet-pictos, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem .sheet-settings-toggle input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-toggle .sheet-pc div.sheet-social div.sheet-contacts div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem .sheet-settings-flag input[type='checkbox'].sheet-settings-flag + span, + .sheet-settings-flag .sheet-pc div.sheet-social div.sheet-contacts div.repitem input[type='checkbox'].sheet-settings-flag + span, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_edit:after, + .repcontrol .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-settings-flag + span.repcontrol_edit:after, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem .repcontrol input.sheet-settings-flag + span.repcontrol_add:after, + .repcontrol .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-settings-flag + span.repcontrol_add:after, + .sheet-pc div.sheet-social div.sheet-contacts div.repitem .itemcontrol input.sheet-settings-flag + span.repcontrol_del, + .itemcontrol .sheet-pc div.sheet-social div.sheet-contacts div.repitem input.sheet-settings-flag + span.repcontrol_del { + grid-area: 1 / 7 / 1 / 8; } + .sheet-pc div.sheet-social div.sheet-contacts div.repitem div.sheet-settings { + grid-column: 1 / 8; } + .sheet-pc div.sheet-htab { + margin-right: -47px; } + .sheet-pc div.sheet-htab input[type='radio'] { + margin-right: -80px; + top: 4px; + width: 80px; } + .sheet-pc div.sheet-htab input[type='radio'] + h1 { + color: #9a9a9a; } + .sheet-pc div.sheet-htab input[type='radio']:hover ~ h1, .sheet-pc div.sheet-htab input[type='radio']:checked ~ h1 { + color: #1e4583; } + +/***** PC ROWS & COLUMNS SETTINGS *****/ +.sheet-pc-row { + margin-bottom: 10px; } + +.sheet-pc-col { + vertical-align: top; + width: calc(50% - 5px); } + .sheet-pc-col:first-child { + margin-right: 1.5%; + width: calc(50% - 10px); } + +.sheet-row-long { + border-bottom: 1px solid #000; } + +.sheet-settings-row { + margin-top: 5px; } + .sheet-settings-row select.sheet-skill-select { + width: 29%; } + +/***** VEHICLE *****/ +.sheet-vehicle-box .sheet-settings div, +.sheet-vehicle-box .sheet-display { + display: inline-block; + width: 100%; } + +.sheet-vehicle-box input[type='text'] { + width: 44%; } + +.sheet-vehicle-box label { + width: 20%; } + +.sheet-vehicle-box .sheet-row-long:first-child label { + width: 12%; } + +.sheet-vehicle-box label:nth-child(1n+4) { + text-align: right; + width: 21%; } + +/***** VEHICLE SETTING *****/ +.sheet-vehicle-box .sheet-settings h3 { + margin-right: 2%; } + +.sheet-vehicle-box .sheet-settings h3:nth-child(1) { + margin-left: 18%; + margin-top: -5px; } + +.sheet-vehicle-box .sheet-settings h3:nth-child(4) { + margin-left: 22%; } + +.sheet-vehicle-box .sheet-settings h3:nth-child(6) { + margin-right: 0px; } + +.sheet-vehicle-box .sheet-settings input[type='text'], +.sheet-vehicle-box .sheet-settings input[type='number'] { + border: none; } + +/***** VEHICLE DISPLAY *****/ +.sheet-vehicle-box .sheet-display-row { + text-align: left; + width: 49%; } + +.sheet-vehicle-box .sheet-display-row h3 { + width: 35%; } + +.sheet-vehicle-box .sheet-display-row div { + display: inline-block; + font-weight: normal; + text-align: center; } + +.sheet-vehicle-box .sheet-display-row div.sheet-vehicle-stat { + width: 60%; } + +.sheet-vehicle-box .sheet-collapsable { + padding-left: 0.2em; } + +/***** HEADERS AND TRIANGLES *****/ +div.sheet-header { + display: inline-flex; + float: right; + height: 20px; } + +div.sheet-triangle, +div.sheet-right-tri { + border-top: 20px solid transparent; } + +div.sheet-triangle { + border-right: 30px solid #afd3e2; } + +div.sheet-right-tri { + border-left: 30px solid #afd3e2; } + +div.sheet-right-header { + margin-right: -8%; + float: left; } + +/***** BOXES FOR DIFFERENT PC SECTIONS *****/ +.sheet-pc-box { + background-color: #e7e6e5; + margin-left: 1.5px; + margin-right: 1.5px; + padding-left: 5px; + padding-right: 5px; + height: auto; } + +.sheet-small-box { + min-height: 150px; } + +.sheet-medium-box { + min-height: 330px; } + +/***** CHARACTER PERSONAL DATA SECTION INPUTS *****/ +.sheet-pd-nam input[type='text'] { + width: 66%; } + +.sheet-pd-meta input[type='text'] { + width: 35.5%; } + +.sheet-pd-age input[type='text'] { + width: 13%; } + +.sheet-pd-rep input[type='number'] { + border: none; + width: 13.5%; } + +.sheet-pd-kar input[type='number'], +.sheet-pd-kar input[type='text'] { + border: none; + width: 20%; } + +/***** CORE COMBAT INFO *****/ +.sheet-core-combat button[type='roll'] { + font-size: 0.9em; + text-align: left; } +.sheet-core-combat h2, .sheet-core-combat h3 { + margin-right: 0px; } +.sheet-core-combat button[name="roll_soak"] { + max-width: 27%; } + .sheet-core-combat button[name="roll_soak"] > span { + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; } + +/***** PRIMARY WEAPON *****/ +.sheet-cc-row { + /** Ammo display */ } + .sheet-cc-row button[type='roll'] { + width: 40%; } + .sheet-cc-row button[type='action'] { + font-family: fontello; + width: 5%; } + .sheet-cc-row button[name*='primary_ammo'] { + width: 10%; } + .sheet-cc-row button[type='action'] > span { + display: inline; + margin-left: 0px; + /** The x# after ammo button **/ } + .sheet-cc-row button[type='action'] > span:before { + content: 'x'; } + .sheet-cc-row button[name*='shots'], .sheet-cc-row button[name='act_reload'], .sheet-cc-row button[name='act_primary_ammo'] { + border-bottom: 2px solid #666; + border-bottom-right-radius: 2px; + border-color: #aaa; + border-radius: 5px; + border-right: 3px solid #999; + border-style: outset; } + .sheet-cc-row button[name*='shots_remove'] { + transform: rotate(180deg); + -ms-transform: rotate(180deg); + /* IE 9 */ + -webkit-transform: rotate(180deg); + /* Safari 3-8 */ } + .sheet-cc-row button[type='roll'] > span, + .sheet-cc-row h3 + span { + display: inline-block; + margin-left: 1%; } + .sheet-cc-row span[name*='ammo'] { + width: 4%; } + .sheet-cc-row span[name*='ammo_max']:before { + content: '/'; } + .sheet-cc-row span[name*='fired'] { + font-size: 0.9em; } + +/***** ATTRIBUTE AND CONDITION MONITOR *****/ +/***** ATTRIBUTES BOX *****/ +.sheet-attr-box h3 { + color: #000; } + +.sheet-attr-col { + display: inline-block; + margin-top: 15px; + vertical-align: top; + width: 48%; } + .sheet-attr-col button[type='roll'] { + border-bottom: 1px solid #000; + border-radius: 0px; + cursor: pointer; + font-size: 0.9em; + font-weight: bold; + margin-left: 0px; + padding-right: 2px; + text-align: right; + width: 30%; } + .sheet-attr-col button > span { + font-weight: bold; } + .sheet-attr-col input[type='number'] { + border-radius: 0px; + width: 23%; + font-weight: bold; } + .sheet-attr-col input[type='text'] { + width: 50%; } + .sheet-attr-col .sheet-totals { + padding: 0px 2px; } + .sheet-attr-col-left { + margin-left: -7%; } + .sheet-attr-col-right { + width: 50%; } + .sheet-attr-col-right button[type='roll'] { + margin-right: 0px; + width: 55%; } + .sheet-attr-col-right .sheet-attr-ini input[type='number'] { + width: 17%; } + .sheet-attr-col-right label { + border-bottom: 1px solid #000; + font-size: 0.9em; + height: 22px; + text-align: right; + width: 55%; } + .sheet-attr-col-right .sheet-attr-und { + width: 43%; } + +.sheet-settings-toggle:checked ~ .sheet-attr-col-right button.sheet-attr-ini .sheet-init-settings { + display: inline; } + +.sheet-attr-col-right button.sheet-attr-ini .sheet-init-settings, +.sheet-settings-toggle:checked ~ .sheet-attr-col-right button.sheet-attr-ini .sheet-init-display { + display: none; } + +.sheet-attr-und { + border-bottom: 1px solid #000; + display: inline-block; + height: 22px; + margin-bottom: 4px; + vertical-align: top; + text-align: center; + width: 65%; } + .sheet-attr-und .sheet-display { + text-align: center; } + +.sheet-tiny-span { + font-size: 0.75em; } + +/***** ATTRIBUTE LIMITS *****/ +.sheet-attr-lim { + margin-top: 20px; } + .sheet-attr-lim div { + display: inline-block; + height: 22px; + text-align: center; + width: 10%; } + .sheet-attr-lim input[type='number'] { + width: 6%; } + .sheet-attr-lim label { + width: auto; } + .sheet-attr-lim span + span { + margin-right: 1%; } + .sheet-attr-lim .sheet-display { + width: 100%; } + +/***** ATTRIBUTE AND CONDITION MONITOR SETTINGS TOGGLES *****/ +/***** ATTRIBUTE SETTINGS TOGGLE *****/ +.sheet-attr-box input.sheet-settings-toggle { + left: 98%; } + .sheet-attr-box input.sheet-settings-toggle + span { + font-size: 1em; + left: 94%; + top: 0px; + position: relative; } + +/***** CONDITION SETTINGS TOGGLE *****/ +.sheet-condition-box input[type='checkbox'] { + left: -1%; } + .sheet-condition-box input[type='checkbox'] + span { + left: -4%; + position: relative; } + +/***** CONDITION MONITOR SECTION *****/ +.sheet-con-track { + display: inline-block; + vertical-align: top; + width: 47%; + margin-top: 2%; + margin-bottom: 3%; } + .sheet-con-track button[type='action'] { + font-size: 1em; + font-weight: bold; + text-align: center; + padding: 1% 2%; + margin-left: 7%; + width: 100%; } + +/***** CONDITION MONITOR SETTINGS *****/ +.sheet-condition-box .sheet-display, +.sheet-condition-box .sheet-settings { + margin-top: -10px; } +.sheet-condition-box .sheet-settings { + /***** CONDITION MONITOR DISPLAY*****/ } + .sheet-condition-box .sheet-settings input { + border-bottom: 1px solid #000; + border-radius: 0px; + height: 22px; + margin-bottom: 5px; } + .sheet-condition-box .sheet-settings .sheet-con-footer { + margin-top: 0px; + text-indent: 10px; } + .sheet-condition-box .sheet-settings .sheet-con-footer .sheet-attr-und { + display: inline-block; + margin-bottom: -5px; + text-align: center; + width: 60%; } + +/***** CONDITION MONITOR SQUARES *****/ +.sheet-squares { + margin-left: 20%; + width: 70%; } + .sheet-squares div { + background-color: transparent; + border-right: none; + left: 85%; + margin-bottom: -20px; + position: relative; + top: -15px; } + .sheet-squares input[type='radio'], + .sheet-squares span { + height: 45px; + width: 33%; } + .sheet-squares input[type='radio'] { + clear: both; + left: 2px; + margin-right: -43px; + position: relative; + top: 6px; } + .sheet-squares span { + background-color: #9a9a9a; + border-radius: 0px; + border: 2px solid whitesmoke; + box-shadow: inset 0px 0px 3px 1px #7c7c7c; + display: inline-block; + margin-bottom: -25px; + margin-right: -7px; } + +.sheet-squares input[type='radio']:checked ~ input[type='radio'] + span, +.sheet-con-track input[type='radio']:checked ~ .sheet-squares span, +.sheet-con-track input[type='hidden'][value='0'] ~ .sheet-squares span { + background-color: transparent; } + +/***** MAKE CONDTION SQUARES APPEAR & DISPPEAR *****/ +.sheet-hex-hider[value='8'] ~ input[type='radio']:nth-child(1n+19), +.sheet-hex-hider[value='9'] ~ input[type='radio']:nth-child(1n+21), +.sheet-hex-hider[value='10'] ~ input[type='radio']:nth-child(1n+24), +.sheet-hex-hider[value='11'] ~ input[type='radio']:nth-child(1n+26), +.sheet-hex-hider[value='12'] ~ input[type='radio']:nth-child(1n+28), +.sheet-hex-hider[value='13'] ~ input[type='radio']:nth-child(1n+32), +.sheet-hex-hider[value='14'] ~ input[type='radio']:nth-child(1n+34), +.sheet-hex-hider[value='15'] ~ input[type='radio']:nth-child(1n+36), +.sheet-hex-hider[value='16'] ~ input[type='radio']:nth-child(1n+38), +.sheet-hex-hider[value='17'] ~ input[type='radio']:nth-child(1n+40), +.sheet-hex-hider[value='18'] ~ input[type='radio']:nth-child(1n+42), +.sheet-hex-hider[value='8'] ~ div:nth-child(1n+19), +.sheet-hex-hider[value='9'] ~ div:nth-child(1n+24), +.sheet-hex-hider[value='10'] ~ div:nth-child(1n+24), +.sheet-hex-hider[value='11'] ~ div:nth-child(1n+24), +.sheet-hex-hider[value='12'] ~ div:nth-child(1n+30), +.sheet-hex-hider[value='13'] ~ div:nth-child(1n+30), +.sheet-hex-hider[value='14'] ~ div:nth-child(1n+30), +.sheet-hex-hider[value='15'] ~ div:nth-child(1n+38), +.sheet-hex-hider[value='16'] ~ div:nth-child(1n+38), +.sheet-hex-hider[value='17'] ~ div:nth-child(1n+38), +.sheet-hex-hider[value='18'] ~ div:nth-child(1n+48) { + display: none; } + +.sheet-hex-hider[value='8'] ~ input[type='radio']:nth-child(1n+19) + span, +.sheet-hex-hider[value='9'] ~ input[type='radio']:nth-child(1n+21) + span, +.sheet-hex-hider[value='10'] ~ input[type='radio']:nth-child(1n+24) + span, +.sheet-hex-hider[value='11'] ~ input[type='radio']:nth-child(1n+26) + span, +.sheet-hex-hider[value='12'] ~ input[type='radio']:nth-child(1n+28) + span, +.sheet-hex-hider[value='13'] ~ input[type='radio']:nth-child(1n+32) + span, +.sheet-hex-hider[value='14'] ~ input[type='radio']:nth-child(1n+34) + span, +.sheet-hex-hider[value='15'] ~ input[type='radio']:nth-child(1n+36) + span, +.sheet-hex-hider[value='16'] ~ input[type='radio']:nth-child(1n+38) + span, +.sheet-hex-hider[value='17'] ~ input[type='radio']:nth-child(1n+40) + span, +.sheet-hex-hider[value='18'] ~ input[type='radio']:nth-child(1n+42) + span { + opacity: 0; } + +/***** CONDITION MONITOR FOOTERS *****/ +.sheet-con-footer { + font-size: 0.8em; + margin-top: 10px; } + .sheet-con-footer label { + margin-right: 5px; + width: auto; } + .sheet-con-footer input[type='number'] { + border-bottom: 1px solid #000; + border-radius: 0px; + height: 22px; + margin-top: -5px; } + +/***** REPEATING FIELDS FOR PC SECTIONS SUCH AS SKILLS *****/ +.sheet-repeat-box { + /***** REPEATING SECTION *****/ + /***** REPEATING SECTION TOGGLES *****/ + /***** REPEATING BOX SECTION INPUTS *****/ + /***** REPEATING BOX DISPLAY *****/ + /***** REPEATING SECTION SELECTS *****/ } + .sheet-repeat-box .sheet-medium-box { + height: auto; + min-height: 200px; } + .sheet-repeat-box h3 { + color: #000; + margin-bottom: -3px; } + .sheet-repeat-box button.sheet-pictos, .sheet-repeat-box .sheet-cc-row button[name*='shots'], .sheet-cc-row .sheet-repeat-box button[name*='shots'], .sheet-repeat-box .sheet-cc-row button[name='act_reload'], .sheet-cc-row .sheet-repeat-box button[name='act_reload'], .sheet-repeat-box .sheet-cc-row button[name='act_primary_ammo'], .sheet-cc-row .sheet-repeat-box button[name='act_primary_ammo'], .sheet-repeat-box .repcontrol button.repcontrol_edit:after, .repcontrol .sheet-repeat-box button.repcontrol_edit:after, + .sheet-repeat-box .repcontrol button.repcontrol_add:after, + .repcontrol .sheet-repeat-box button.repcontrol_add:after, .sheet-repeat-box .itemcontrol button.repcontrol_del, .itemcontrol .sheet-repeat-box button.repcontrol_del, + .sheet-repeat-box button.sheet-settings-button { + font-size: 1em; + position: absolute; + line-height: 1em; } + .sheet-repeat-box button.sheet-settings-button { + left: 96%; } + .sheet-repeat-box .repitem { + display: inline-flex; + border-bottom: 1px solid #000; + width: 100%; } + .sheet-repeat-box input.sheet-settings-toggle, + .sheet-repeat-box input.sheet-primary-flag + span { + position: absolute; + width: 13px; } + .sheet-repeat-box input.sheet-settings-toggle { + left: 98.5%; } + .sheet-repeat-box input.sheet-settings-toggle + span { + left: 98.5%; + top: -2px; + width: 2%; } + .sheet-repeat-box .sheet-settings input[type='text'] { + border-bottom: 1px solid #333; + border-radius: 0px; } + .sheet-repeat-box .sheet-settings input[type='text']:first-child { + text-align: left; } + .sheet-repeat-box .sheet-settings input[type='number'] { + border: none; + border-bottom: 1px solid #333; + border-radius: 0px; + width: 8%; } + .sheet-repeat-box .sheet-settings label { + font-size: 0.8em; + margin-bottom: 0px; } + .sheet-repeat-box button[type='roll'], + .sheet-repeat-box button[type='action'] { + font-size: 0.9em; + color: #000; } + .sheet-repeat-box select { + color: #000; + font-size: 0.8em; + font-weight: bolder; + height: 20px; + padding: 0px; + width: 14%; } + .sheet-repeat-box option { + padding: 2px; + font-weight: bold; } + +.sheet-rank { + display: inline-block; + text-align: center; + width: 10%; } + +/***** COLLAPSABLE DIVS *****/ +.sheet-collapsable { + padding-left: 1.5em; + width: 100%; + word-break: break-word; } + .sheet-collapsable span { + white-space: pre-line; } + .sheet-display-flag:checked ~ .sheet-collapsable .sheet-desc-lifestyle { + width: 100%; } + +/***** DISPLAY FLAG FOR THE COLLAPSABLE DIVS *****/ +.sheet-quality-box .sheet-display-flag, .sheet-contacts .sheet-display-flag, .sheet-social-box .sheet-display-flag, .sheet-vehicle-box .sheet-display-flag, div.sheet-augs div.sheet-repeat-box .sheet-display-flag { + opacity: 0; + position: absolute; + top: 0px; + width: 90%; + height: 100%; } + +/***** DISPLAY ROWS *****/ +.sheet-display-row { + display: inline-block; + overflow: hidden; + text-align: center; + vertical-align: top; + word-break: break-word; } + .sheet-display-row:nth-of-type(1), .sheet-display-row:nth-of-type(1) button { + text-align: left; } + +/***** DISPLAY & SETTINGS *****/ +.sheet-skills-row, .sheet-contacts .sheet-display, +.sheet-contacts .sheet-settings div, .sheet-item-box .sheet-display, +.sheet-item-box .sheet-settings div, +.sheet-lifestyle .sheet-settings div { + display: inline-block; + width: 100%; } + +/***** MATRIX *****/ +.sheet-matrix select.sheet-skill-select { + width: 26.5%; } +.sheet-matrix input[name="attr_flag"] + span { + position: absolute; } +.sheet-matrix .sheet-con-hex { + margin-bottom: -10px; + margin-right: 0px; + margin-top: 5px; + position: unset; + width: 100%; } + .sheet-matrix .sheet-con-hex input[type='radio']:first-child { + margin-right: -25%; + margin-top: 2%; + width: 25%; } + .sheet-matrix .sheet-con-hex input[type='radio']:hover ~ h2 { + color: #fff; + text-shadow: 1px 1px 2px black, 0 0 25px #1e4583, 0 0 5px whitesmoke; } + .sheet-matrix .sheet-con-hex h2 { + vertical-align: top; } + +/***** CYBERDECK *****/ +.sheet-cyberdeck button { + font-weight: bold; } + .sheet-cyberdeck button input[name="attr_flag"] { + position: absolute; } + .sheet-cyberdeck button input[name="attr_flag"] + span { + position: absolute; } + +.sheet-cyberdeck h3 { + line-height: 20px; } + .sheet-cyberdeck h3[data-i18n="total"] { + margin-left: 15%; } + .sheet-cyberdeck h3[data-i18n="temp"] { + margin-left: 5%; } + .sheet-cyberdeck h3[data-i18n="modifier"] { + margin-left: 2%; + margin-right: 2%; } + .sheet-cyberdeck h3[data-i18n="base"] { + margin-left: 0%; + margin-right: 15%; } + +.sheet-cyberdeck input[type='number'] { + border: none; + border-bottom: 1px solid #333; + border-radius: 0px; + height: 20px; + width: 25px; } + +.sheet-cyberdeck .sheet-row-long:nth-of-type(1) input[type='text'] { + width: 90%; } + +.sheet-cyberdeck .sheet-row-long:nth-of-type(1n+3) label { + padding-bottom: 5px; + padding-right: 0px; + width: 15%; } + +.sheet-cyberdeck .sheet-row-long span { + margin-left: 1%; + margin-right: 1%; } + +/**** MATRIX BUBBLES ****/ +.sheet-pc .sheet-device-attr { + display: inline; } + .sheet-pc .sheet-device-attr span { + position: relative; } + +.sheet-matrix-tot { + display: inline-block; + height: 20px; + width: 20px; } + +.sheet-matrix-bubble { + display: inline; + margin-left: 15px; + background-color: #222; } + +.sheet-matrix-bubble span:nth-of-type(6), +.sheet-matrix-bubble input[type='radio']:nth-of-type(5n+6) { + margin-left: 2%; } + +.sheet-matrix-bubble input[type='radio'] { + height: 15px; + left: -8px; + width: 15px; } + +.sheet-matrix-bubble input[type='radio'] + span { + border-radius: 3px; + display: inline-block; + height: 18px; + margin-left: -25px; + top: 4px; + width: 18px; } + +.sheet-matrix-bubble input[type='radio']:checked ~ input[type='radio'] + span { + height: 14px; + margin-bottom: 3px; + opacity: 0.5; } + +.sheet-matrixAttack span { + border: 2px solid #3a0000; + background-color: #cc0701; + -webkit-box-shadow: inset 0px 1px 5px 2px #3a0000; + -moz-box-shadow: inset 0px 1px 5px 2px #3a0000; + box-shadow: inset 0px 1px 5px 2px #3a0000; } + +.sheet-matrixSleaze span { + border: 2px solid #000e3b; + background-color: #007bfc; + -webkit-box-shadow: inset 0px 1px 5px 2px #000e3b; + -moz-box-shadow: inset 0px 1px 5px 2px #000e3b; + box-shadow: inset 0px 1px 5px 2px #000e3b; } + +.sheet-matrixData span { + border: 2px solid #074202; + background-color: #88dd04; + -webkit-box-shadow: inset 0px 1px 5px 2px #074202; + -moz-box-shadow: inset 0px 1px 5px 2px #074202; + box-shadow: inset 0px 1px 5px 2px #074202; } + +.sheet-matrixFirewall span { + border: 2px solid #470101; + background-color: #f88703; + -webkit-box-shadow: inset 0px 1px 5px 2px #470101; + -moz-box-shadow: inset 0px 1px 5px 2px #470101; + box-shadow: inset 0px 1px 5px 2px #470101; } + +/***** Options Section *****/ +.sheet-options .sheet-pc-box { + min-height: 800px; } + +.sheet-op-col { + display: inline-block; + vertical-align: top; + width: 48%; } + +.sheet-op-col { + margin-bottom: 5px; } + +.sheet-op-col h2 { + text-decoration: underline; + width: 100%; } + +.sheet-op-col button[name='act_import_launch'] { + border: 2px solid black; + background: #333; + color: white; + font-weight: bold; + width: auto; + height: auto; + padding: 2% 4%; } + +.sheet-op-col p { + margin-top: 2%; + margin-right: 5%; } + +.sheet-op-col hr { + border: 0.5px solid #1c1c1c; + margin: 3px 0px; + opacity: 0.1; } + +.sheet-op-col label { + margin-bottom: 2%; + width: 55%; } + +.sheet-options input[type='checkbox'] { + height: 15px; + margin-left: 5%; + opacity: 1; + width: 15px; } + +/***** EDGE & MATRIX CONDITION HEXAGONS *****/ +.sheet-edg-hex, +.sheet-con-hex { + position: relative; } + .sheet-edg-hex .sheet-edg-hex input[type='checkbox'], + .sheet-edg-hex .sheet-con-hex input[type='radio'], + .sheet-con-hex .sheet-edg-hex input[type='checkbox'], + .sheet-con-hex .sheet-con-hex input[type='radio'] { + height: 20px; + margin-right: -21px; + top: -9px; + width: 20px; } + +.sheet-edg-hex input[type='checkbox'], +.sheet-con-hex input[type='radio'] { + height: 20px; + margin-right: -21px; + top: -9px; + width: 20px; + opacity: 0; + z-index: 2; + position: relative; } + +.sheet-hexagon { + display: inline-block; + margin: 5.77px 0; + position: relative; + background-color: #222; + height: 11.55px; + width: 20px; } + +.sheet-hexagon:before, +.sheet-hexagon:after { + border-left: 10px solid transparent; + border-right: 10px solid transparent; + content: ''; + position: absolute; + width: 0; } + +.sheet-hexagon:before { + bottom: 100%; + border-bottom: 5.77px solid #222; } + +.sheet-hexagon:after { + top: 100%; + width: 0; + border-top: 5.77px solid #222; } + +.sheet-edg-hex input[type='checkbox']:checked ~ .sheet-hexagon, +.sheet-con-hex input[type='radio']:checked ~ .sheet-hexagon, +.sheet-edge-zero[value='0'] ~ .sheet-hexagon { + background-color: #9a9a9a; } + +.sheet-edg-hex input[type='checkbox']:checked ~ .sheet-hexagon:before, +.sheet-con-hex input[type='radio']:checked ~ .sheet-hexagon:before, +.sheet-edge-zero[value='0'] ~ .sheet-hexagon:before { + border-bottom-color: #9a9a9a; } + +.sheet-edg-hex input[type='checkbox']:checked ~ .sheet-hexagon:after, +.sheet-con-hex input[type='radio']:checked ~ .sheet-hexagon:after, +.sheet-edge-zero[value='0'] ~ .sheet-hexagon:after { + border-top-color: #9a9a9a; } + +.sheet-edg-hex input[type='checkbox']:checked + .sheet-hexagon, +.sheet-con-hex input[type='radio'] + .sheet-hexagon, +.sheet-con-hex input[type='radio']:checked + .sheet-hexagon { + background-color: #222; } + +.sheet-edg-hex input[type='checkbox']:checked + .sheet-hexagon:before, +.sheet-con-hex input[type='radio']:checked + .sheet-hexagon:before { + border-bottom-color: #222; } + +.sheet-edg-hex input[type='checkbox']:checked + .sheet-hexagon:after, +.sheet-con-hex input[type='radio']:checked + .sheet-hexagon:after { + border-top-color: #222; } + +/***** MAKE HEXES APPEAR & DISAPPEAR *****/ +.sheet-hex-hider[value='1'] ~ input[type='checkbox']:nth-child(1n+5), +.sheet-hex-hider[value='1'] ~ input[type='checkbox']:nth-child(1n+5) + span, +.sheet-hex-hider[value='2'] ~ input[type='checkbox']:nth-child(1n+7), +.sheet-hex-hider[value='2'] ~ input[type='checkbox']:nth-child(1n+7) + span, +.sheet-hex-hider[value='3'] ~ input[type='checkbox']:nth-child(1n+9), +.sheet-hex-hider[value='3'] ~ input[type='checkbox']:nth-child(1n+9) + span, +.sheet-hex-hider[value='4'] ~ input[type='checkbox']:nth-child(1n+11), +.sheet-hex-hider[value='4'] ~ input[type='checkbox']:nth-child(1n+11) + span, +.sheet-hex-hider[value='5'] ~ input[type='checkbox']:nth-child(1n+13), +.sheet-hex-hider[value='5'] ~ input[type='checkbox']:nth-child(1n+13) + span, +.sheet-hex-hider[value='6'] ~ input[type='checkbox']:nth-child(1n+15), +.sheet-hex-hider[value='6'] ~ input[type='checkbox']:nth-child(1n+15) + span, +.sheet-hex-hider[value='7'] ~ input[type='checkbox']:nth-child(1n+17), +.sheet-hex-hider[value='7'] ~ input[type='checkbox']:nth-child(1n+17) + span { + display: none; } + +.sheet-settings .sheet-textrow label { + margin-bottom: 36px; } + +.sheet-augmentation div.sheet-display { + text-indent: 125px; } + +.sheet-power div.sheet-display { + text-indent: 65px; } + +/*:+:+:+: REPEATING SECTIONS :+:+:+:*/ +.sheet-repeating, +.sheet-repeat-section { + display: inline-block; + width: 100%; } + +.sheet-repeating button.sheet-display { + text-align: left; } + +.sheet-repeating input[type='checkbox'] { + width: 15px; + height: 15px; } + +.sheet-repeating label { + padding: 0px; } + +.sheet-repeating .sheet-settings { + border-bottom: 1px dotted #FCD116; } + +.sheet-repeat-indent { + padding-left: 2.5em; + text-indent: -1.5em; } + +.sheet-repeating .sheet-display { + display: inline-flex; } + +.sheet-repeat-section input { + height: 27px; + background-color: transparent; + border-bottom: 1px solid #fff; + border-radius: 0px; } + +.sheet-magic .sheet-repeat-section input[type='number'], +.sheet-magic .sheet-repeat-section input[type='text'], +.sheet-resonance .sheet-repeat-section input[type='number'], +.sheet-resonance .sheet-repeat-section input[type='text'] { + width: 100%; } + +.sheet-repeat-row { + display: inherit; + width: 5%; } + +.sheet-repeat-row-8 { + width: 8%; } + +.sheet-repeat-row-11 { + width: 11%; } + +.sheet-repeat-row-12 { + width: 12%; } + +.sheet-repeat-row-15 { + width: 15%; } + +.sheet-repeat-row-20 { + width: 20%; } + +.sheet-repeat-row span { + font-size: 0.8em; } + +.sheet-repeat-dice { + font-size: 12px; } + +/*:+:+:+: NPC SPELLS :+:+:+:*/ +input.sheet-spell-toggle { + margin: 0px -38px 0px 5px; } + +.sheet-magic .sheet-repeating select { + width: 100%; } + +/*:+:+:+: HIDE SECTOINS WHEN NOT IN USE :+:+:+:*/ +.sheet-optional-flag:not([value='0']) + .sheet-textboxes { + display: inherit; + width: 100%; } + +.sheet-category[value='Combat'] + div, +.sheet-category[value='Combat'] + div + div, +.sheet-character-type[value='matrix'] + .sheet-matrix { + display: inherit; } + +.sheet-category[value='Combat'] ~ .sheet-combat-type-hide { + display: inline; } + +.sheet-character-type[value='magic'] + .sheet-magic-skill, +.sheet-character-type[value='magic'] + .sheet-magic-skill + .sheet-magic-skill, +.sheet-character-type[value='resonance'] + .sheet-resonance-skill { + opacity: 1; } + +.sheet-character-type[value='magic'] ~ .sheet-magic, +.sheet-character-type[value='magic'] ~ .sheet-magic + .sheet-magic, +.sheet-character-type[value='resonance'] ~ .sheet-resonance, +.sheet-character-type[value='resonance'] ~ .sheet-resonance + .sheet-resonance { + display: inline-block; + width: 100%; } + +/******************************************************************************************/ +/**************************** START OF THE NPC SHEET *************************************/ +/****************************************************************************************/ +.sheet-npc { + border-radius: 3px; + min-height: 800px; + padding: 10px 10px; + width: 720px; + /*:+:+:+: REPEATING SECTIONS :+:+:+:*/ + /*:+:+:+: NPC ATTRIBUTES :+:+:+:*/ + /*:+:+:+: NPC BODY :+:+:+:*/ + /*:+:+:+: NPC TEXT BOXES AND REPEATING SECTIONS :+:+:+:*/ + /*:+:+:+: NPC MATRIX :+:+:+:*/ } + .sheet-npc button { + background: #333; + color: #fff; } + .sheet-npc button:hover, .sheet-npc button:focus { + border-color: whitesmoke; + color: #fff; + font-weight: bold; } + .sheet-npc h1 { + line-height: unset; + font-size: 1.1em; } + .sheet-npc h2 { + font-size: 1em; + text-transform: capitalize; } + .sheet-npc h3 { + font-size: 0.85em; } + .sheet-npc input[type='radio'] { + opacity: 1; } + .sheet-npc input[type='text']:placeholder-shown, .sheet-npc input[type='number']:placeholder-shown { + border: 1px dotted #1e4583; } + .sheet-npc input.sheet-toggle:checked + span { + color: #1e4583; } + .sheet-npc textarea, .sheet-npc select { + color: #fff; + background-color: #555; } + .sheet-npc div.sheet-tabs { + grid-template-columns: 2.5em 1fr 4em 1fr 4em 1fr 4em 1fr 4em; + grid-row-gap: 10%; } + .sheet-npc div.sheet-tabs button[type='roll'] { + color: #1c1c1c; + grid-area: 2 / 1 / 2 / 2; } + .sheet-npc div.sheet-tabs img { + grid-area: 1 / 1 / 2 / 4; + height: 100%; + width: 100%; } + .sheet-npc div.sheet-tabs .sheet-switch input[type='checkbox'] + span { + position: absolute; } + .sheet-npc div.sheet-tabs h2, .sheet-npc div.sheet-tabs label { + grid-row: 2; } + .sheet-npc div.sheet-tabs select { + grid-column: 8 / 8; } + .sheet-npc div.sheet-tabs input[name='attr_stats_toggle'], + .sheet-npc div.sheet-tabs input[name='attr_stats_toggle'] + span.sheet-pictos, + .sheet-npc div.sheet-tabs .sheet-settings-toggle input[type='checkbox'][name='attr_stats_toggle'] + span, + .sheet-settings-toggle .sheet-npc div.sheet-tabs input[type='checkbox'][name='attr_stats_toggle'] + span, + .sheet-npc div.sheet-tabs .sheet-settings-flag input[type='checkbox'][name='attr_stats_toggle'] + span, + .sheet-settings-flag .sheet-npc div.sheet-tabs input[type='checkbox'][name='attr_stats_toggle'] + span, + .sheet-npc div.sheet-tabs .repcontrol input[name='attr_stats_toggle'] + span.repcontrol_edit:after, + .repcontrol .sheet-npc div.sheet-tabs input[name='attr_stats_toggle'] + span.repcontrol_edit:after, + .sheet-npc div.sheet-tabs .repcontrol input[name='attr_stats_toggle'] + span.repcontrol_add:after, + .repcontrol .sheet-npc div.sheet-tabs input[name='attr_stats_toggle'] + span.repcontrol_add:after, + .sheet-npc div.sheet-tabs .itemcontrol input[name='attr_stats_toggle'] + span.repcontrol_del, + .itemcontrol .sheet-npc div.sheet-tabs input[name='attr_stats_toggle'] + span.repcontrol_del { + grid-area: 1 / 9 / 1 / 9; + position: relative; + width: 100%; + height: 100%; } + .sheet-npc div.sheet-tabs input[name='attr_stats_toggle']:checked + span { + color: #1e4583; } + .sheet-npc div.sheet-tabs span.sheet-pictos, .sheet-npc div.sheet-tabs .sheet-settings-toggle input[type='checkbox'] + span, .sheet-settings-toggle .sheet-npc div.sheet-tabs input[type='checkbox'] + span, + .sheet-npc div.sheet-tabs .sheet-settings-flag input[type='checkbox'] + span, + .sheet-settings-flag .sheet-npc div.sheet-tabs input[type='checkbox'] + span, .sheet-npc div.sheet-tabs .repcontrol span.repcontrol_edit:after, .repcontrol .sheet-npc div.sheet-tabs span.repcontrol_edit:after, + .sheet-npc div.sheet-tabs .repcontrol span.repcontrol_add:after, + .repcontrol .sheet-npc div.sheet-tabs span.repcontrol_add:after, .sheet-npc div.sheet-tabs .itemcontrol span.repcontrol_del, .itemcontrol .sheet-npc div.sheet-tabs span.repcontrol_del { + text-align: center; + font-size: 1.2em; } + .sheet-npc div.sheet-rows { + margin-bottom: 1%; + width: 100%; } + .sheet-npc div.sheet-rows button { + font-size: 1.1em; + text-align: left; } + .sheet-npc div.sheet-rows h2 { + display: inline; + font-size: 1.1em; + line-height: unset; + font-weight: normal; } + .sheet-npc div.sheet-rows h3 { + display: inline; } + .sheet-npc div.sheet-rows input[type='number'] { + width: 3em; } + .sheet-npc div.sheet-rows span.sheet-tiny-span { + margin: 0px 1%; } + .sheet-npc div.sheet-repeating button { + margin: 0px; } + .sheet-npc div.sheet-repeating h1 { + display: inline; } + .sheet-npc div.sheet-repeating h2 { + font-variant: small-caps; + text-align: center; + text-decoration: underline; } + .sheet-npc div.sheet-repeating input[type='number'], .sheet-npc div.sheet-repeating input[type='text'] { + width: 100%; } + .sheet-npc div.sheet-repeating div.repitem:hover > input[name='attr_flag'] + span, .sheet-npc div.sheet-repeating div.repitem:hover > input[name='attr_program_on'] + span { + opacity: 1; } + .sheet-npc div.sheet-repeating div.repitem div.sheet-settings { + min-width: 700px; } + .sheet-npc div.sheet-attribute { + border-bottom: 1px solid #fff; + border-top: 1px solid #fff; + grid-row-gap: 5%; + margin: 2% 0px; + padding: 1% 1% 3% 1%; + width: 100%; } + .sheet-npc div.sheet-attribute input[type='number'] { + text-align: center; + width: 100%; } + .sheet-npc div.sheet-attribute label { + text-align: center; } + .sheet-npc div.sheet-attribute label[data-i18n-title='modifier'] input[type='number'] { + width: 65%; } + .sheet-npc div.sheet-attribute label[data-i18n-title='modifier']:before { + content: '('; } + .sheet-npc div.sheet-attribute label[data-i18n-title='modifier']:after { + content: ')'; } + .sheet-npc div.sheet-attribute h1 { + font-weight: normal; + grid-row: 1; + text-align: center; } + .sheet-npc div.sheet-attribute button { + grid-row: 1; + text-transform: capitalize; } + .sheet-npc div.sheet-attribute span { + font-size: 1.25em; + grid-row: 2; + text-align: center; } + .sheet-npc div.sheet-attribute span + label { + grid-row: 3; } + .sheet-npc div.sheet-attribute label[data-i18n-title='modifier'] { + grid-row: 4; } + .sheet-npc div.sheet-mid { + grid-template-columns: 52% 30% 1fr; + width: 100%; } + .sheet-npc div.sheet-mid div.sheet-column { + width: 100%; } + .sheet-npc div.sheet-mid span[name='attr_physical_limit']:after, + .sheet-npc div.sheet-mid span[name='attr_mental_limit']:after { + content: ','; } + .sheet-npc div.sheet-end { + /*:+:+:+: TEXT AREAS :+:+:+:*/ + /*:+:+:+: REPEATING SECTIONS :+:+:+:*/ + /*:+:+:+: NPC INLINE REPEAITNG SECTIONS SUCH AS SKILLS :+:+:+:*/ + /*:+:+:+: WEAPONS :+:+:+:*/ + /*:+:+:+: SPELLS :+:+:+:*/ + /*:+:+:+: COMPLEX FORMS :+:+:+:*/ + /*:+:+:+: IC :+:+:+:*/ } + .sheet-npc div.sheet-end div.sheet-rows, .sheet-npc div.sheet-end div.sheet-textrow { + width: 100%; } + .sheet-npc div.sheet-end div.sheet-textrow { + grid-column: 1 / 4; } + .sheet-npc div.sheet-end div.sheet-textrow h1 { + display: inline; + line-height: unset; + margin-right: 1%; } + .sheet-npc div.sheet-end div.sheet-textrow label { + width: 100%; } + .sheet-npc div.sheet-end div.sheet-textrow label[data-i18n-title='initiate'], .sheet-npc div.sheet-end div.sheet-textrow label[data-i18n-title='submersion'] { + width: 4em; } + .sheet-npc div.sheet-end div.sheet-textrow label[data-i18n-title='initiate'] input, .sheet-npc div.sheet-end div.sheet-textrow label[data-i18n-title='submersion'] input { + width: 100%; } + .sheet-npc div.sheet-end div.sheet-repeating { + grid-column: 1 / 4; } + .sheet-npc div.sheet-end div.sheet-inline-repeating div.repitem span[name*='attr_display_rating']:after { + content: ','; } + .sheet-npc div.sheet-end div.sheet-inline-repeating .sheet-full-row { + grid-column: 1 / 6; } + .sheet-npc div.sheet-end div.sheet-inline-repeating div.repcontainer { + display: inline; + max-width: 500px; } + .sheet-npc div.sheet-end div.sheet-inline-repeating div.repcontainer .repitem, + .sheet-npc div.sheet-end div.sheet-inline-repeating div.repcontainer .repcontrol { + display: inline-block; + vertical-align: top; + margin-bottom: 1%; + margin-right: 1%; } + .sheet-npc div.sheet-end div.sheet-inline-repeating div.sheet-settings { + grid-template-columns: 2fr 8em 8em 1fr 1fr; + grid-column-gap: 1%; + grid-row-gap: 0.5%; } + .sheet-npc div.sheet-end div.sheet-inline-repeating div.sheet-settings h2.sheet-full-row { + text-align: left; } + .sheet-npc div.sheet-end div.sheet-inline-repeating div.sheet-settings label.sheet-full-row input[type='text'] { + text-align: left; } + .sheet-npc div.sheet-end div.sheet-weapons input[name='attr_weapon_range'][value='range'] ~ div.sheet-settings { + grid-template-columns: 5em 3em 2fr 2fr 3em 3em 3em 1fr 3em 3em; } + .sheet-npc div.sheet-end div.sheet-weapons input[name='attr_weapon_range'][value='range'] ~ div.sheet-settings label[data-i18n-title='notes'] { + grid-column: 1/10; } + .sheet-npc div.sheet-end div.sheet-weapons input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings { + grid-template-columns: 5em 3em 2fr 2fr 3em 3em 3em 3em; } + .sheet-npc div.sheet-end div.sheet-weapons input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings label[data-i18n-title='notes'] { + grid-column: 1/9; } + .sheet-npc div.sheet-end div.sheet-weapons div.sheet-settings { + grid-column-gap: 0.2%; } + .sheet-npc div.sheet-end div.sheet-spells div.sheet-settings { + grid-column-gap: 0.2%; + grid-template-columns: 7em 3em 1fr 5em 5em 5em 3em 5em 3em; } + .sheet-npc div.sheet-end div.sheet-spells label[data-i18n-title='notes'] { + grid-column: 1 / 10; } + .sheet-npc div.sheet-end div.sheet-forms div.sheet-settings { + grid-column-gap: 0.2%; + grid-template-columns: 3em 1fr 7em 8em 3em; } + .sheet-npc div.sheet-end div.sheet-forms span[name='attr_form_dice'] { + margin-left: 3%; } + .sheet-npc div.sheet-end div.sheet-forms label[data-i18n-title='notes'] { + grid-column: 1 / 6; } + .sheet-npc div.sheet-end div.sheet-ic div.sheet-settings { + grid-column-gap: 0.2%; + grid-template-columns: 1fr 8em 8em 8em; } + .sheet-npc div.sheet-end div.sheet-ic span[name='attr_software_dice'] { + margin-left: 3%; } + .sheet-npc div.sheet-end div.sheet-ic label[data-i18n-title='notes'] { + grid-column: 1 / 5; } + .sheet-npc div.sheet-matrix { + width: 100%; } + .sheet-npc div.sheet-matrix-device { + margin-bottom: 5%; + /*:+:+:+: NPC PROGRAMS :+:+:+:*/ } + .sheet-npc div.sheet-matrix-device div.sheet-rows { + display: inline-grid; + grid-template-columns: 12em 45% 10em 1fr; + grid-row-gap: 5%; } + .sheet-npc div.sheet-matrix-device div.sheet-rows:first-child { + margin-bottom: 4%; } + .sheet-npc div.sheet-matrix-device label { + width: 100%; } + .sheet-npc div.sheet-matrix-device label input[type='text'] { + text-align: left; + width: 100%; } + .sheet-npc div.sheet-matrix-device label.sheet-round > input[type='number'] { + border-radius: 25px 25px; + height: 25px; + margin-left: 25%; + width: 25px; } + .sheet-npc div.sheet-matrix-device div.sheet-matrix-bubble { + background-color: transparent; + grid-column: 2 / 4; + height: 15px; + margin-left: 10%; + /*:+:+:+: NPC MATRIX BUBBLES :+:+:+:*/ } + .sheet-npc div.sheet-matrix-device div.sheet-matrix-bubble input[type='radio'] { + height: 25px; + width: 20px; + left: 0px; + top: -115%; } + .sheet-npc div.sheet-matrix-device div.sheet-matrix-bubble input[type='radio'] + span { + border-radius: 5px; + height: 25px; + left: 5px; + width: 20px; + top: -60%; } + .sheet-npc div.sheet-matrix-device div.repcontainer { + grid-column: 1 / 6; } + .sheet-npc div.sheet-matrix-device div.repcontainer h2[data-i18n='notes'] { + grid-row: 3; } + .sheet-npc div.sheet-matrix-device div.repcontainer label[data-i18n-title='notes'] { + grid-row: 4; } + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem { + display: inline-block; + width: 100%; } + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem button > span, .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem span { + opacity: 0.2; } + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem input.sheet-toggle, + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem span.sheet-pictos, + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem .sheet-settings-toggle input[type='checkbox'] + span, + .sheet-settings-toggle .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem input[type='checkbox'] + span, + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem .sheet-settings-flag input[type='checkbox'] + span, + .sheet-settings-flag .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem input[type='checkbox'] + span, + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem .repcontrol span.repcontrol_edit:after, + .repcontrol .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem span.repcontrol_edit:after, + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem .repcontrol span.repcontrol_add:after, + .repcontrol .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem span.repcontrol_add:after, + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem .itemcontrol span.repcontrol_del, + .itemcontrol .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem span.repcontrol_del { + position: absolute; + top: 2%; } + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem input[name='attr_program_on'] { + left: 2%; } + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem input[name='attr_program_on'] + span { + left: 2.5%; } + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem input[name='attr_program_on']:checked ~ button > span, .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem input[name='attr_program_on']:checked ~ span { + opacity: 1; } + .sheet-npc div.sheet-matrix-device div.repcontainer div.repitem button[type="roll"] { + margin-left: 5% !important; } + +/**************************************************************************/ +/***************** PC & NPC SHEET SHOW & HIDE SETTINGS *******************/ +/************************************************************************/ +/* DISPLAY SETTINGS + ============================= */ +.sheet-pc div.sheet-skill-box input[name='attr_specialization'][value=' '] ~ div.sheet-buttons button[name*='specialization'], +.sheet-pc div.sheet-skill-box input[name='attr_specialization'][value=''] ~ div.sheet-buttons button[name*='specialization'], .sheet-pc div.sheet-magic input.sheet-magic-toggle[value='rituals'] ~ .sheet-headers h2:nth-of-type(1n+2), .sheet-collapsable .sheet-desc, .sheet-collapsable .sheet-desc-lifestyle, .sheet-matrix, +.sheet-magic, +.sheet-resonance, +.sheet-optional, +.sheet-textboxes, +.sheet-optional-flag[value='0'] + .sheet-attr-header, +.sheet-category + div, +.sheet-category + div + div, .sheet-npc, .sheet-pc, .sheet-arms, .sheet-augs, .sheet-core, .sheet-gear, .sheet-options, .sheet-social, .sheet-vehicle, .sheet-skills-active, +.sheet-skills-know, +.sheet-skills-lang, .sheet-magic-spells, .sheet-magic-preps, .sheet-magic-rituals, .sheet-quality, .sheet-martial, div.sheet-collapse, +.sheet-settings, input.sheet-settings-toggle:checked ~ div.sheet-display, +input.sheet-settings-toggle:checked ~ .sheet-attr-col .sheet-attr-und div.sheet-display, +input.sheet-settings-toggle ~ .sheet-attr-lim div.sheet-settings, +input.sheet-settings-toggle:checked ~ .sheet-attr-lim div.sheet-display, +input.sheet-settings-toggle[value='settings'] ~ div.sheet-display, +input.sheet-settings-toggle[value='display'] ~ div.sheet-settings, +input.sheet-settings-toggle[value='display'] ~ div.sheet-settings-grid, input.sheet-settings-toggle[value='display'] ~ .sheet-settings, .sheet-hide-magic, .sheet-hide-resonance, div.sheet-weapon-range, +div.sheet-weapon-melee, .sheet-grunt, .sheet-host, .sheet-sprite, input[name='attr_sheet_type'][value='host'] ~ .sheet-npc .sheet-column:nth-of-type(2), +input[name='attr_sheet_type'][value='sprite'] ~ .sheet-npc .sheet-column:nth-of-type(1n+2), input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-hide-magic, +input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-hide-resonance, +input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-grunt.sheet-hide-magic, +input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-grunt.sheet-hide-resonance, +input[name='attr_flag_special'][value='resonance'] ~ div.sheet-npc .sheet-hide-magic, +input[name='attr_flag_special'][value='resonance'] ~ div.sheet-npc .sheet-grunt.sheet-hide-magic, +input[name='attr_flag_special'][value='magic'] ~ div.sheet-npc .sheet-hide-resonance, +input[name='attr_flag_special'][value='magic'] ~ div.sheet-npc .sheet-grunt.sheet-hide-resonance, +input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-attribute .sheet-settings.sheet-hide-magic, +input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-attribute .sheet-settings.sheet-hide-resonance, +input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body .sheet-settings.sheet-hide-magic, +input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body .sheet-settings.sheet-hide-resonance, input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body input[type='hidden'][value=''] + div.sheet-textrow, input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body input[type='hidden'][value=''] + div.sheet-rows.sheet-grunt, input[name='attr_specialization'][value=''] ~ button[name*='specialization'], +input[name='attr_specialization'][value=' '] ~ button[name*='specialization'], +input[name='attr_specialization'][value=''] ~ div.sheet-row-long div.sheet-buttons button[name*='specialization'], +input[name='attr_specialization'][value=' '] ~ div.sheet-row-long div.sheet-buttons button[name*='specialization'], input[name='attr_weapon_range'][value='range'] ~ div.sheet-settings h2[data-i18n='reach'], +input[name='attr_weapon_range'][value='range'] ~ div.sheet-settings label[data-i18n-title='reach'], input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings h2[data-i18n='modes'], +input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings h2[data-i18n='recoil'], +input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings h2[data-i18n='ammo'], +input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings label[data-i18n-title='modes'], +input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings label[data-i18n-title='recoil'], +input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings label[data-i18n-title='ammo'], +input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings span, input[name='attr_category']:not([value='Combat']) ~ select[name='attr_combat_type'], +input[name='attr_category']:not([value='Combat']) ~ label[data-i18n-title='dam'] { + display: none; } + +.sheet-display-flag:checked ~ .sheet-collapsable .sheet-desc, .sheet-tab-switch[value='active'] ~ .sheet-skills-active, +.sheet-tab-switch[value='knowledge'] ~ .sheet-skills-know, +.sheet-tab-switch[value='language'] ~ .sheet-skills-lang, .sheet-magic-toggle[value='spells'] ~ .sheet-magic-spells, .sheet-magic-toggle[value='preps'] ~ .sheet-magic-preps, .sheet-magic-toggle[value='rituals'] ~ .sheet-magic-rituals, .sheet-tab-switch[value='quality'] ~ .sheet-quality, .sheet-tab-switch[value='martial'] ~ .sheet-martial { + display: inline; } + +.sheet-pc h2, .sheet-pc h3, .sheet-pc .sheet-tabs, .sheet-pc div.sheet-skill-box div.sheet-row-long, .sheet-npc div.sheet-tabs, .sheet-npc div.sheet-mid, input[name='attr_sheet_type'][value='grunt'] ~ .sheet-npc .sheet-attribute.sheet-grunt, input[name='attr_sheet_type'][value='host'] ~ .sheet-npc .sheet-attribute.sheet-host, input[name='attr_sheet_type'][value='sprite'] ~ .sheet-npc .sheet-attribute.sheet-sprite, input[name='attr_sheet_type'][value='vehicle'] ~ .sheet-npc .sheet-attribute.sheet-vehicle { + display: inline-grid; } + +.sheet-display-flag:checked ~ .sheet-collapsable .sheet-desc-lifestyle, .sheet-optional-flag:not([value='0']) + .sheet-optional, .sheet-npc div.sheet-mid div.sheet-column, input[name='attr_sheet_type']:not([value='pc']) ~ .sheet-npc, +input[name='attr_sheet_type'][value='pc'] ~ .sheet-pc, .sheet-options_toggle[value='arms'] ~ .sheet-arms, .sheet-options_toggle[value='augs'] ~ .sheet-augs, .sheet-options_toggle[value='core'] ~ .sheet-core, .sheet-options_toggle[value='gear'] ~ .sheet-gear, .sheet-options_toggle[value='options'] ~ .sheet-options, .sheet-options_toggle[value='social'] ~ .sheet-social, .sheet-options_toggle[value='magic'] ~ .sheet-magic, .sheet-options_toggle[value='matrix'] ~ .sheet-matrix, .sheet-options_toggle[value='vehicle'] ~ .sheet-vehicle, input[name='attr_stats_toggle'][value='settings'] ~ .sheet-attribute .sheet-settings, +input[name='attr_stats_toggle'][value='settings'] ~ .sheet-body .sheet-column .sheet-settings, +input[name='attr_stats_toggle'][value='settings'] ~ .sheet-body .sheet-textrow .sheet-settings, input.sheet-settings-toggle[value='settings'] ~ .sheet-settings, .sheet-character-type[value='magic'] ~ .sheet-pc .sheet-pc-row .sheet-attr-col .sheet-hide-magic, input[name='attr_flag_special'][value='magic'] ~ .sheet-npc .sheet-hide-magic, .sheet-character-type[value='resonance'] ~ .sheet-pc .sheet-pc-row .sheet-attr-col .sheet-hide-resonance, input[name='attr_flag_special'][value='resonance'] ~ .sheet-npc .sheet-hide-resonance, input.sheet-tab-switch[value='range'] ~ .sheet-weapon-range, +input.sheet-tab-switch[value='melee'] ~ .sheet-weapon-melee, input[name='attr_sheet_type'][value='grunt'] ~ .sheet-npc .sheet-rows.sheet-grunt, +input[name='attr_sheet_type'][value='grunt'] ~ .sheet-npc .sheet-textrow.sheet-grunt, input[name='attr_sheet_type'][value='host'] ~ .sheet-npc .sheet-rows.sheet-host, +input[name='attr_sheet_type'][value='host'] ~ .sheet-npc .sheet-textrow.sheet-host, input[name='attr_sheet_type'][value='sprite'] ~ .sheet-npc .sheet-rows.sheet-sprite, +input[name='attr_sheet_type'][value='sprite'] ~ .sheet-npc .sheet-textrow.sheet-sprite, input[name='attr_sheet_type'][value='vehicle'] ~ .sheet-npc .sheet-rows.sheet-vehicle, +input[name='attr_sheet_type'][value='vehicle'] ~ .sheet-npc .sheet-textrow.sheet-vehicle, input[name='attr_flag_matrix'][value='matrix'] ~ div.sheet-matrix, +.sheet-static { + display: inline-block; } + +/***** PC AND NPC *****/ +/***** TABS *****/ +/***** SWITCH BETWEEN DIFFERENT TABS *****/ +/***** SETTINGS *****/ +/*** TOGGLE ***/ +.sheet-display, +input.sheet-settings-toggle:checked ~ div.sheet-settings, +input.sheet-settings-toggle:checked ~ .sheet-attr-col .sheet-attr-und div.sheet-settings, +input.sheet-settings-toggle:checked ~ .sheet-attr-lim div.sheet-settings { + background: none; + display: inherit; + font-size: 1em; + text-align: left; + width: 100%; } + +/* NEW REPEATING CONTAINER WAY TO SHOW & HIDE SETTINGS */ +/* SLOWLY ELIMINATE ALL TRACES OF SETTINGS-TOGGLE WITH THIS WAY OF DOING THINGS */ +input.sheet-settings-flag:checked ~ div.sheet-settings { + display: inherit; } + +input.sheet-collapse-flag:checked ~ div.sheet-collapse { + display: block; } + +/* OLD WAY TO SHOW & HIDE THINGS */ +/***** PC WEAPONS *****/ +/***** NPC TYPES *****/ +/* SHOW AND HIDE MAGIC AND RESONANCE SPECIFIC ATTRIBUTES BASED ON RADIO TOGGLE */ +input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body div.sheet-grunt.sheet-pain-tolerance { + display: none; } + +input[name='attr_category']:not([value='Combat']) ~ h2[data-i18n='combat'], +input[name='attr_category']:not([value='Combat']) ~ h2[data-i18n='dam'] { + visibility: hidden; } + +.sheet-pc .sheet-tabs input[value*='arms'] ~ button[name*='arms'], .sheet-pc .sheet-tabs input[value*='augs'] ~ button[name*='augs'], .sheet-pc .sheet-tabs input[value*='core'] ~ button[name*='core'], .sheet-pc .sheet-tabs input[value*='gear'] ~ button[name*='gear'], .sheet-pc .sheet-tabs input[value*='options'] ~ button[name*='options'], .sheet-pc .sheet-tabs input[value*='social'] ~ button[name*='social'], .sheet-pc .sheet-tabs input[value*='magic'] ~ button[name*='magic'], .sheet-pc .sheet-tabs input[value*='matrix'] ~ button[name*='matrix'], .sheet-pc .sheet-tabs input[value*='vehicle'] ~ button[name*='vehicle'] { + background-color: #afd3e2; + box-shadow: inset 0px 0px 3px 1px #1e4583; + color: #fff; } + +/*****************************************************************************************/ +/**************************************** FOOTER ****************************************/ +/***************************************************************************************/ +/**** Footer ****/ +div.sheet-footer { + border: none; + font-size: 0.55em; + line-height: 15px; + margin-top: 15px; + text-align: left; + width: 700px; } + div.sheet-footer div { + display: inline-block; + width: 90%; } + div.sheet-footer img { + float: right; + vertical-align: top; + width: 5%; } + +/********************************************************************************************************/ +/**************************************** REPEATING SECTIONS *******************************************/ +/********************************************************************************************************/ +.repcontainer .repitem { + margin-bottom: 5px; } + +.repcontrol { + display: inline-block; + vertical-align: top; + min-height: 27px; } + +.repcontrol .btn { + background: none; + border: medium none; + box-shadow: none; + color: transparent !important; + display: inline-block; + font-size: 15px; + margin-left: 10px; + outline: 0; + padding: 0px 0px 0px 0px; + text-shadow: none; + width: 25px; } + +.repcontrol .repcontrol_edit:after, +.repcontrol .repcontrol_add:after { + background-color: none; + color: #fff; + font-size: 16px; + height: 12px; + padding: 2px 4px 2px 4px; + visibility: visible; + width: 12px; } + +.repcontrol .repcontrol_edit:after { + content: '('; } + +.repcontrol .repcontrol_add:after { + content: '&'; } + +.editmode ~ .repcontrol .repcontrol_edit:after { + content: ')'; } + +.repcontrol .repcontrol_edit:after, +.repcontrol .repcontrol_add:after { + color: #000; + position: relative; } + +.sheet-npc .repcontrol .repcontrol_edit:after, +.sheet-npc .repcontrol .repcontrol_add:after { + color: #1c1c1c; } + +.repcontrol .repcontrol_edit:hover:after, +.repcontrol .repcontrol_add:hover:after { + color: #1e4583; + background-color: none; } + +.itemcontrol { + z-index: 10; } + +.itemcontrol .repcontrol_del, +.itemcontrol .repcontrol_move { + font-size: 10px; + height: 18px; + margin-top: 3px; + padding: 0px; + width: 18px; } + +.itemcontrol .repcontrol_del { + background-color: darkred; } + +/********************************************************************************************************/ +/**************************************** Roll template *******************************************/ +/********************************************************************************************************/ +.sheet-rolltemplate-rolls div.sheet-template-body { + border: 2px solid #333 !important; + border-radius: 3px 3px 3px 3px; } + +.sheet-rolltemplate-rolls .sheet-template-header { + background-color: #afd3e2; + border: 1px solid #333; + border-bottom: 2px solid #333; + box-shadow: inset 0px 0px 3px 1px #333; + color: #1c1c1c; + font-size: 1.5em; + font-variant: small-caps; + letter-spacing: 2px; + padding: 3px 0px 5px 0px; + text-align: center; + text-transform: capitalize; + font-weight: bold; } + .sheet-rolltemplate-rolls .sheet-template-header h1 { + font-size: 0.8em; + color: #1c1c1c; + line-height: 1em; } + .sheet-rolltemplate-rolls .sheet-template-header span { + font-family: 'tahoma'; + font-size: 0.5em; + font-variant: normal; + letter-spacing: 1px; } + +.sheet-rolltemplate-rolls .sheet-template-row { + color: #fff; + text-align: center; + font-size: 18px; + background-color: #1c1c1c; + box-shadow: inset 0px 0px 3px 1px #333; + line-height: 1.1em; + font-family: 'helvetica'; + padding: 5px 5px 3px 5px; } + .sheet-rolltemplate-rolls .sheet-template-row:nth-child(2n+0) { + background-color: #555; } + .sheet-rolltemplate-rolls .sheet-template-row a[href^="~"] { + font-family: "dicefontd6"; + color: #1c1c1c; + border: none; + box-shadow: outset 0px 0px 3px 1px #333; + font-size: 1.8em; + background: none !important; + padding: 1px; + color: #fff; + text-shadow: 1px 1px 2px black, 0 0 25px #1c1c1c, 0 0 5px #1c1c1c; } + .sheet-rolltemplate-rolls .sheet-template-row a[href^="~"]:hover, .sheet-rolltemplate-rolls .sheet-template-row a[href^="~"]:focus, .sheet-rolltemplate-rolls .sheet-template-row a[href^="~"]:active { + font-weight: bold; + color: #fff; + text-shadow: 1px 1px 2px black, 0 0 25px #afd3e2, 0 0 5px #1e4583; } + +.sheet-rolltemplate-rolls .inlinerollresult { + display: inline-block; + color: #fff; + font-size: 25px; + background-color: transparent; + border: none; } + +.sheet-rolltemplate-rolls .inlinerollresult.fullfail, +.sheet-rolltemplate-rolls .inlinerollresult.fullcrit, +.sheet-rolltemplate-rolls .inlinerollresult.importantroll { + border: none; } + +.sheet-rolltemplate-rolls .inlinerollresult.fullfail { + color: #afd3e2; } + +.sheet-rolltemplate-rolls .inlinerollresult.fullcrit { + color: #fff; } + +.sheet-rolltemplate-rolls .sheet-template-desc { + font-size: 0.8em; } + +.sheet-rolltemplate-rolls span.sheet-template-desc .inlinerollresult { + font-size: 14px; } + +/********************************************************************************************************/ +/******************************* FireFox *******************************************/ +/******************************************************************************************************/ +input[type=number]::-webkit-outer-spin-button, +input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; } + +input[type=number] { + -moz-appearance: textfield; } + +/********************************************************************************************/ +/***************** French Adjustments ********************************/ +/*******************************************************************************************/ +.charsheet.lang-fr .sheet-tab-whisper, +.charsheet.lang-fr .sheet-tab-toggles { + margin-right: 2%; } + +.charsheet.lang-fr .sheet-tabs input[type='checkbox']:nth-of-type(2) { + width: 11%; } + +.charsheet.lang-fr .sheet-tab-col input[type='radio'] { + width: 4.5%; } + +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(4), +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(5), +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(6), +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(7) { + width: 6%; } + +.charsheet.lang-fr .sheet-tab-whisper input[type='radio'], +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(8), +.charsheet.lang-fr .sheet-tab-toggles input[type='checkbox']:nth-of-type(1) { + width: 8%; } + +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(9) { + width: 2.5%; } + +.charsheet.lang-fr .sheet-pd-meta input[type='text'] { + width: 30%; } + +.charsheet.lang-fr .sheet-skill-box h3:first-child { + margin-right: 51%; + width: 20%; } diff --git a/Shadowrun4thEdition/Shadowrun4thEdition.html b/Shadowrun4thEdition/Shadowrun4thEdition.html new file mode 100644 index 0000000000..1d13fd74e0 --- /dev/null +++ b/Shadowrun4thEdition/Shadowrun4thEdition.html @@ -0,0 +1,3866 @@ + + + + +
+
Shadowrun +

Character

+ +

Player

+ +

/w GM

+ +

wounds

+ +

modifiers

+ +

edge

+ + + + + + + + + + + + +
+ +
+
+

Personal Data

+
+
+
+

NAME/PRIMARY ALIAS

+
+
+

Metatype

+

Ethnicity

+
+
+

Age

+

Sex

+

Height

+

Weight

+
+
+

Street Cred

+

Notoriety

+

Public Awereness

+
+
+

Karma

+

Total Karma

+

Misc

+
+
+
+
+ +
+

Attributes

+
+
+ x +
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + +
+
+ +
+
+
+
+ + + + + + + + + + +
+
+
+ + +
+
+
+
+ + + + +
+
+
+ + + = + +
+
+ + + = + +
+
+
+
+
+
+
+ + + +
+
+ + = + +
+
+ +
+
+ + + + +
+
+ + = + +
+
+ +
+
+ + + +
+
+ + = + +
+
+ +
+
+ + + +
+
+ + = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + + +
+
+ / + / + + +
+
+ / + / + + +
+
+
+
+
+
+ +
+
+
+
+ +

active..

+
+
+
+
+ +

know..

+
+
+
+
+ +

lang..

+
+
+
+

Skills

+
+
+
+
+
+

Skill

+

RTG

+

Attribute

+
+
+ +
+
+
+ + - + +
+
+ + + + + + +
+ + +
+ + i + x +
+
+ + + + + +
+
+
+
+
+
+
+ + + + + +
+ + +
+ + i + x +
+
+ + + + + +
+
+
+
+
+
+
+ + + + + +
+ + +
+ + i + x +
+
+ + + + + +
+
+
+
+
+
+
+
+
+
+

Core Combat Info

+
+ +
+
+
+
+

Primary Armor

+ +

Rating

+ + / + +
+ + + +
+
+
+

Primary Ranged Weapon

+ + + + + +
+
+

Dam

+

AP

+

Mode

+

RC

+

Ammo

+ + + +
+
+

Primary Melee Weapon

+ +
+
+

Reach

+

Dam

+

AP

+
+
+
+
+ +
+

Condition Monitor

+
+
+ x +
+ + + + + + / +
+ +
+ + +
+
+ + / + +
+
+
+ + +
+ + + +
-1
+ + +
-2
+ + +
-3
+ + +
-4
+ + +
-5
+ + +
-6
+
+ +
+
+ + +
+ + + +
-1
+ + +
-2
+ + +
-3
+ + +
-4
+ + +
-5
+
+ +
+
+
+
+
+
+
+
+ +

Qualities

+
+
+
+
+ +

Martial Arts

+
+
+
+
+
+ +
+
+

Quality

+

Type

+
+
+
+ + i + x +
+
+ + +

notes

+ +
+
+
+
+
+
+

Technique

+

Style

+
+
+
+ + i + x +
+
+ + +

notes

+ +
+
+
+
+
+
+
+
+
+
+
+

Weapons

+
+
+
+
+
+ +

Ranged

+
+
+
+
+ +

Melee

+
+
+
+
+
+ +
+
+

Weapon

+

Dam

+

AP

+

Mode

+

Recoil

+

Ammo

+
+
+ + + + + i + x +
+
+ + + + + + +
+

Mode Options

+ +

range

+ +

primary

+ +
+
+

skill

+ +

specialization

+ +

modifier

+ + +
Exotic weapons are not linked to a skill. Use Modifier input to set dicepool.
+
+

notes

+ +
+
+
+
+
+

Weapon

+

Dam

+

AP

+

Reach

+
+
+ + + + i + x +
+
+ + + + +

primary

+ +
+

skill

+ +

specialization

+ +

modifier

+ + +
Exotic weapons are not linked to a skill. Use Modifier input to set dicepool.
+
+

notes

+ +
+
+
+
+
+
+
+
+

Armor

+
+
+
+
+
+
+

armor

+

ballistic

+

impact

+
+
+ +
+ + + i + x +
+ + + + + + + + + + + + +
+
+
+ + + +
+

Acid

+

Cold

+

Elec

+

Fire

+

Radi

+

Laser

+

Gause

+
+
+ + + + + + + +
+
+

primary

+ +

modifier

+ +
+

notes

+ +
+
+
+
+
+
+
+
+
+
+

Augmentations

+
+
+
+
+
+

Augmentations

+

Rating

+

Essence

+
+
+
+ i + x +
+
+ + + +

notes

+ +
+
+
+
+
+
+
+
+
+
+

gear

+
+
+
+
+
+

Item

+

Rating

+

Quantity

+
+
+
+ i + x +
+
+ + + +

notes

+ +
+
+
+
+
+
+
+
+
+
+

Magic

+
+
+
+
+
+ +

Spells

+
+
+
+
+ +

Prep...

+
+
+
+
+ +

Rituals

+
+
+
+
+
+ + + + +

modifier

+ + +
+

spells

+

type

+

range

+

duration

+

drain

+
+
+
+
+ + + i + x +
+
+ + + + + +
+

Category

+ +

Combat

+ +

Damage

+ +
+
+

Skill

+ +

Specialization

+ +

modifier dice

+ +
+

notes

+ +
+
+
+
+
+
+
+ + + i + x +
+
+ + + + + +
+

Category

+ +

Combat

+ +

Damage

+ +
+
+

Skill

+ +

Specialization

+ +

modifier dice

+ +
+

notes

+ +
+
+
+
+

+
+

+

+

+

+
+
+ + i + x +
+
+ + + + +

notes

+ +
+
+
+
+
+
+
+ + + i + x +
+
+ +
+

skill

+ +

specialization

+ +

modifier

+ +
+

notes

+ +
+
+
+
+
+
+
+
+
+

Adept Powers or Other Abilities

+
+
+
+
+ + + + +

modifier

+ +
+

Name

+

Rating

+
+
+
+ i + x +
+
+ + +

notes

+ +
+
+
+
+
+
+
+
+
+
+

Commlinks

+
+
+
+
+ +
+

Programs

+
+ Q + + i + x +
+
+
+ +
+
+

rating

+ +
+
+

skill

+ +
+
+

specialization

+ +
+
+

modifier

+ +
+

notes

+ +
+
+
+
+
+
+
+
+

Complex Forms

+
+
+
+
+ + + + +

modifier

+ +
+
+

+

+

+

+
+
+ + + i + x +
+
+ + + + +
+

skill

+ +

+ +

modifier

+ +
+

notes

+ +
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+

+ +
+
+

+ +
+
+

+ +
+
+

+
+
+
+ + i + x +
+
+

+
+
+

+
+
+

+
+
+
+

+ +

+ +

+ +

+ +
+
+
+
+
+
+
+
+

+
+
+
+
+
+

name

+

loyalty

+

connection

+

favor

+
+
+
+ + i + x +
+
+ + + + +

notes

+ +
+
+
+
+
+
+
+
+

Vehicle

+
+
+
+ +
+
+
+ + + + + + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+

Base

Modifier

+

Temp

Base

+

Modifier

Temp

+
+

Notes

+ +
+
+
+ +
+
+

Vehicle

+
+ +
+
+
+

Handling

+
+ +
+
+
+
+
+

Acceleration

+
+ +
+
+
+

Speed

+
+ +
+
+
+
+
+

Pilot

+
+ +
+
+
+

Body

+
+ +
+
+
+
+
+

Armor

+
+ +
+
+
+

Sensor

+
+ +
+
+
+
+
+
+
+ x +
+
+
+
+
+
+
+

Options

+
+
+
+
+

Character


+
+
+ +
+
+
+

Sheet Select


+ +
+
+
+
+
+

Temporary Modifiers


+ + +
+ + + + + + + + + + +
+ + +
+
+
+
+
+
+
+
+
Shadowrun black and metallic logo +

/w GM

+ +

wounds

+ +

modifiers

+ +

edge

+ + + + y +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

ess

+ +

m

+ +

f

+ +

r

+ +
+
+ + + + + + + + + + +
+
+

Hand

+ +

Hand (Off)

+ +

Speed

+ +

Speed (Off)

+ +

Accel

+ +

Body

+ + + +

Sensor

+ +

Seat

+ +
+
+ + + + + + + + + + +
+
+
+

Bonuses

+ +
+

Professional Rating

+ +
+
+ + + + d6=+d6 +
+
+ + + + d6=+d6 +
+
+ + + + d6=+d6 +
+
+

Movement

+ / + / + + = / / + +
+
+ + / + =/ +
+
+ + / + =/ +
+
+ +
+
+
+

+ +
+
+

+ +
+
+

+ / + +
+
+
+

soak

+ = +
+
+ + +
+
+
+

Modifier

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+

Options

+
+
+ + + +
+
+ +
+
+
+
+ +
+

key

+ +
+ +
+

key

+ +
+ +
+

key

+ +
+ +
+

key

+ +
+ +
+

key

+ +
+ +
+

key

+ +
+ +
+

key

+ +
+
+ +

key

+
+ +
+
+ +

key

+
+ +
+
+

skills

+
+ + + + + + x + + +
+

Skill

+

Rating

+

Rating Modifier

+

Attribute

+ + + + +

specialization

+ +
+
+
+
+

knowledgeskills

+
+ + + + + x + + +
+

Skill

+

Rating

+

Rating Modifier

+

Attribute

+ + + + +

specialization

+ +
+
+
+
+

languageskills

+
+ + + + + x + + +
+

Skill

+

Rating

+

Rating Modifier

+

Attribute

+ + + + +

specialization

+ +
+
+
+
+

Weapons

+
+ x + + + +
+

Range

+

Dice

+

Name

+

Type

+

Reach

+

Dam

+

AP

+

Modes

+

Recoil

+

Ammo

+ + + + + + + + + + + (c) +
+
+
+
+

Spells

+
+ x + + +
+ +

Category

+

Dice

+

Name

+

Type

+

Range

+

Duration

+

Drain

+

Combat

+

Dam

+ + + + + + + + + + +
+
+
+
+

Complex Forms

+
+ x + + +
+

Dice

+

Name

+

Target

+

Duration

+

Fade

+ + + + + + +
+
+
+
+
+ +
+ +
+
{{#header}} +

{{header}}

{{/header}} + {{#base}}{{base}}{{/base}} + {{#rollLess() wound 0}} ♦ {{/rollLess() wound 0}} + {{#rollLess() mod 0}} ♦ {{/rollLess() mod 0}} + {{#rollGreater() mod 0}} ♦ {{/rollGreater() mod 0}} + {{#rollGreater() edge 0}} ♦ {{/rollGreater() edge 0}} +
+
{{#dice}} +
{{dice}}
{{/dice}} + {{#desc}} +
+ {{desc}} + {{#rollGreater() rea 0}},{{rea}} + {{/rollGreater() rea 0}} + {{#rollGreater() drain 1}},{{drain}} + {{/rollGreater() drain 1}} + {{#rollLess() drain 1}},{{drain}} + {{/rollLess() drain 1}}
{{/desc}} +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Shadowrun4thEdition/Shadowrun4thEdition.pug b/Shadowrun4thEdition/Shadowrun4thEdition.pug new file mode 100644 index 0000000000..3149b76dc4 --- /dev/null +++ b/Shadowrun4thEdition/Shadowrun4thEdition.pug @@ -0,0 +1,45 @@ +input(name='attr_version' type='hidden' value='1') + +//- CHARACTER SHEET PAGE +input.sheet_type(name='attr_sheet_type' type='hidden' value='pc') + +//- CHARACTER TYPE (MUNDANE < MAGIC < RESONANCE) +input.character-type(name='attr_flag_special' type='hidden' value='mundane') + +//- VARIABLES +- const imageSource = 'https://raw.githubusercontent.com/clevett/roll20-character-sheets/shadowrun4ev1/Shadowrun4thEdition/src/imgs'; + +include src/pug/_variables.pug + +//- MIXINS +include src/pug/_mixins.pug + +//- PCs +include src/pug/_pc.pug + +//- NPCs +include src/pug/_npc.pug + +//- FOOTER +include src/pug/_footer.pug + +//- ROLL TEMPLATES +include src/pug/_rolltemplates.pug + +//- HIDDEN +include src/html/hidden.html + +//- SCRIPTS +script(type="text/worker") + include src/js/attributes.js + + include src/js/Classes/PrimaryWeapon.js + include src/js/Classes/PrimaryArmor.js + + include src/js/processingFunctions.js + + include src/js/scripts.js + + include src/js/versioning.js + + include src/js/eventhandlers.js \ No newline at end of file diff --git a/Shadowrun4thEdition/Shadowrun4thEdition.scss b/Shadowrun4thEdition/Shadowrun4thEdition.scss new file mode 100644 index 0000000000..cf5eac5e38 --- /dev/null +++ b/Shadowrun4thEdition/Shadowrun4thEdition.scss @@ -0,0 +1,990 @@ + +/* ABSTRACTS + ============================= */ + @import 'src/scss/abstracts/_variables'; + @import 'src/scss/abstracts/_mixins'; + +/* BASE + ============================= */ + @import 'src/scss/base/_base'; + @import 'src/scss/base/_placeholders'; + @import 'src/scss/base/_generic'; + @import 'src/scss/base/_typography'; + +/* SWITCHES + ============================= */ + @import 'src/scss/components/_switch'; + @import 'src/scss/components/_tabs'; + + +/***** TABS FOR SHEETS *****/ +.sheet-settings-toggle, +.sheet-settings-flag { + input { + width: 3em; + } + + input[type='checkbox'] + span { + background : transparent; + @extend .sheet-pictos; + font-size : 20px; + height : 20px; + text-align : center; + width : 20px; + } +} + +/***************************************************************************************/ +/************************** START OF THE PC SHEET *************************************/ +/*************************************************************************************/ + .sheet-pc { + margin-left : -1%; + padding-left : 0.5%; + + button > h2:hover, + button > span:hover, + label > button[type='roll']:hover, + .sheet-repeat-box button[type='roll']:hover, + .sheet-con-track button[type='action']:hover, + button[data-i18n='default']:hover { + color : #fff; + text-shadow: 1px 1px 2px black, 0 0 25px $accent, 0 0 5px $primary; + } + + h1 { + background-color: $primary; + font-size : 1em; + letter-spacing : 2px; + line-height : 20px; + padding-left : 5px; + padding-right : 5px; + text-transform : uppercase; + } + + h2 { + font-size : 0.9em; + line-height: 25px; + text-transform: capitalize; + @extend %display-inline-grid; + } + + h3 { + color : hsla(0, 0%, 20%, 0.59); + font-size: 0.8em; + text-transform: capitalize; + + @extend %display-inline-grid; + } + + hr { margin: 7px 0px -2px 0px; } + + input { + border-radius: 0px; + } + + .sheet-tabs { + @extend %display-inline-grid; + grid-template-columns: 1fr 5em 1fr 5em 2.5em 5em 5em 5em 5em 5em 5em 5em; + grid-column-gap: 0.25%; + padding: 0px 1% 3% 1%; + margin-top: 1%; + grid-row-gap: 10%; + + button[type='roll'] { + grid-area: 2 / 5 / 2 / 5; + } + + /***** PLAYER DATA INPUTS *****/ + h1 { + background-color: transparent; + display: inline-block; + font-size : 1em; + grid-column: 6 / 8; + letter-spacing: 2px; + line-height : 20px; + margin-left: 5%; + text-align: right; + text-transform : uppercase; + } + + h2 { + &[data-i18n-title='/w GM'] { grid-area: 2 / 1 / 2 / 1; } + &[data-i18n-title='wounds'] { grid-area: 2 / 3 / 2 / 4; } + &[data-i18n-title='modifiers'] { grid-area: 3 / 1 / 3 / 1; } + &[data-i18n-title='edge'] { grid-area: 3 / 3 / 3 / 4; } + } + + @each $highlightButton in $tabs { + input[value*='#{$highlightButton}'] ~ button[name*='#{$highlightButton}'] { + @extend %highlight-button; + } + } + + img { + grid-area: 1 / 1 / 2 / 6; + height: 100%; + width: 100%; + } + + label { + &[data-i18n-title='character name'] > input[type='text'], + &[data-i18n-title='player name'] > input[type='text'] { + font-weight : bolder; + background-color: transparent; + border : none; + box-shadow : none; + border-bottom : 2px solid $graytrans; + border-radius : 0px; + height : 30px; + width : 100%; + grid-column: 4; + } + + &[data-i18n-title='character name'] { grid-area: 1 / 8 / 1 / 14; } + &[data-i18n-title='player name'] { grid-area: 2 / 8 / 2 / 14; } + + &[data-i18n-title='whisper rolls to gm']{ grid-area: 2 / 2 / 2 / 3; } + &[data-i18n-title='wounds'] { grid-area: 2 / 4 / 2 / 5;} + &[data-i18n-title='modifiers'] { grid-area: 3 / 2 / 3 / 3;} + &[data-i18n-title='edge'] { grid-area: 3 / 4 / 3 / 5;} + } + } + + input.sheet-settings-toggle, + input.sheet-settings-flag, + input.sheet-collapse-flag, + input[type='radio'] { + @extend %toggleRelative; + + & + span { + font-family: 'pictos'; + } + + &:checked + span { + color: $accent + } + } + + select { + height: 1.8em; + padding: 0px; + color: $blacker; + } + + div.sheet-core-info { + h2{ margin-right: 1%; } + + input[type='text'], input[type='number'] { + background-color: transparent; + border: none; + + &:placeholder-shown { + background-color: $graytrans; + } + } + } + + input.sheet-display-flag { position: absolute; } + + //used in magic & complex forms + select.sheet-attribute-select { + margin-top: 1%; + } + + /***** DECORATIVE BOX THAT ADDS THE RED OUTLINE ON PC SHEET *****/ + div.sheet-border-box { + background-image: -moz-linear-gradient($accent, transparent), -moz-linear-gradient($accent, transparent); + background-image: -o-linear-gradient($accent, transparent), -o-linear-gradient($accent, transparent); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from($accent), to(transparent)); + background-image: -webkit-linear-gradient($accent, transparent); + background-image: linear-gradient($accent, transparent), linear-gradient($accent, transparent); + border-top : 2px solid $primary; + clear : both; + border-top-right-radius: 10px; + border-top-left-radius : 0px; + + button[type='roll'] { + font-size: 0.8em; + font-weight: bold; + } + + div.sheet-pc-box { + border-top-right-radius: 10px; + border-top-left-radius : 0px; + } + } + + /***** REPEATING CONTAINERS *****/ + div.sheet-repeating-container { + div.repitem { + display: inline-grid; + padding: 1% 0.5%; + margin-bottom: 0px; + @extend %gridGap; + @extend %borderBottom; + + button[type='roll'] { + text-align: left; + } + + input { + &:nth-of-type(1n+2) { text-align: center; } + + &[type='text'], + &[type='number'] { + @extend %borderBottom; + width: 100%; + } + } + + label { + padding-right: 0px; + + input[name='attr_name'], + input[name='attr_weapon'], + input[name='attr_quality'] { + text-align: left; + } + + &[data-i18n-title='modifier'] { + width: 3em; + } + } + + div.sheet-settings { + background-color: $ccc; + border-left: 2px solid $gray; + @extend %gridGap; + padding: 2% 1%; + width: 100%; + + select { text-transform: capitalize; } + } + + div.sheet-collapse { padding-left: 5%; } + } + } + + div.repitem { + width: 100%; + + input[type='number'] { text-align: center; } + } + + /***** STATIC *****/ + div.sheet-static { + margin-right: 0.5%; + + div.sheet-border-box, + div.sheet-border-box .sheet-pc-box { + border-top-right-radius: 0px; + border-top-left-radius : 10px; + } + } + + + /***** CORE *****/ + div.sheet-core { + div.sheet-armor-buttons { + display : inline-block; + font-size : 1.5em; + line-height: 20px; + margin-left: 1%; + width : 35%; + + button { + &[type='roll'] { margin-right: -5px; } + &[name='roll_defense'] { + background-color: $gray; + color: $white; + } + } + + span { font-size : 1em; } + } + + /***** QUALITIES *****/ + div.sheet-quality-box { + div.sheet-htab input[type='radio'] { + margin-right: -100px; + width : 100px; + } + + div.sheet-header:nth-of-type(2) .sheet-htab input[type='radio'] { + margin-right: -150px; + width : 150px; + } + + div.sheet-quality { + $qualityGrid: 1fr 3em 1.5em 1em 1em; + + h2:nth-of-type(2) { text-align: center; } + + div.sheet-headers { + display: grid; + grid-template-columns: $qualityGrid; + @extend %gridGap; + } + + div.repitem { + grid-template-columns: $qualityGrid; + @include repeatingInformation(6, false); + + div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: $qualityGrid; + } + } + } + + div.sheet-martial { + $martialGrid: 2fr 1fr 1.5em 1em 1em; + + h2:nth-of-type(2) { text-align: center; } + + div.sheet-headers { + display: grid; + grid-template-columns: $martialGrid; + @extend %gridGap; + } + + div.repitem { + grid-template-columns: $martialGrid; + @include repeatingInformation(6, false); + + div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: $martialGrid; + } + } + } + } + } + + /***** SKILLS *****/ + div.sheet-skill-box { + $skillGrid: 1fr 3.5em 5em 1em 1em; + + h2:nth-of-type(1n+2) { + text-align: center; + } + + label { + display : inline-block; + font-size : 0.8em; + text-transform: capitalize; + + &[data-i18n-title='ratingmodifier'] { + grid-area: 1 / 3 / 1 / 7; + width: 100%; + + input[type='number'] { + width: 3em; + } + } + + &[data-i18n-title='specialization'] { grid-area: 3 / 1 / 3 / 7; } + &[data-i18n-title='notes'], textarea { grid-area: 4 / 1 / 4 / 7; } + + & > input { + @extend %borderBottom; + text-align: left; + border-radius: 0px; + width: 100%; + } + } + + div.sheet-buttons { + display: grid; + grid-template-columns: 1.5fr 1.5fr; + overflow: hidden; + } + + input[name='attr_specialization'][value=''] ~ div.sheet-buttons { + grid-template-columns: 1fr; + } + + input[name='attr_skill'] { @extend %borderBottom; } + + input[name='attr_rating_modifier'] { width: 3.5em; } + + input[name='attr_specialization'][value=' '] ~ div.sheet-buttons button[name*='specialization'], + input[name='attr_specialization'][value=''] ~ div.sheet-buttons button[name*='specialization'] { @extend %display-none; } + + div.sheet-row-long { + grid-template-columns: $skillGrid; + padding: 1% 0.5%; + width: 100%; + + @extend %display-inline-grid; + @extend %gridGap; + + h3:nth-of-type(1n+2) { text-align: center; } + } + + option.sheet-option-headers { + opacity: 0.2; + } + + option.sheet-option-groups { + font-size: 1em; + font-style: italic; + } + + div.repitem { + grid-template-columns: $skillGrid; + + @include repeatingInformation(6, false); + + input[name='attr_damage'], + input[name='attr_dicepool_modifier'] { + width: 3.5em; + } + + div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: $skillGrid; + } + } + } + + /*** ARMS ****/ + div.sheet-arms { + div.sheet-headers { + display: grid; + @extend %gridGap; + + h2:nth-of-type(1n+2) { + text-align: center; + } + } + + div.repitem { + h3 { color: $blacker; } + + input { + &:nth-of-type(1n+2) { text-align: center; } + + &.sheet-flag-primary[value='primary'] + button, + &.sheet-flag-primary[value='primary'] + div.sheet-primary { + background-color: $primary; + border-bottom: 2px solid $blacker; + border-right: 0; + } + + + &.sheet-flag-primary[value='primary'] + button:hover { + background-color: $accent; + color: $white; + } + } + + div.sheet-primary { + padding: 0.5% 1%; + } + + h2, + label.sheet-protections { + width: 11%; + } + + h2:nth-of-type(1n+2), + label.sheet-protections:nth-of-type(1n+2) { + margin-left: 2%; + } + + label.sheet-protections > input { + width: 100%; + } + } + + div.sheet-weapons { + div.sheet-headers { + grid-template-columns: 1fr 4em 3em 3em 3em 3em 1em 1em; + } + + div.repitem { + $weaponsGrid: 1fr 4em 3em 3em 3em 3em 1em 1em; + grid-template-columns: $weaponsGrid; + @include repeatingInformation(9, false); + + div.sheet-settings { + grid-column: 1 / 9; + grid-template-columns: $weaponsGrid; + } + } + + div.sheet-weapon-range, + div.sheet-weapon-melee { + width: 100%; + div.sheet-row { + grid-column: 1 / 9; + + label[data-i18n-title="modeoptions"], + label[data-i18n-title="range"]{ + width: 25%; + } + + input[type='number'] {width: 3em;} + + select {width: 30%;} + }; + + div.sheet-exotic-warning { display: none; } + + input[value='0'] + div.sheet-exotic-warning { display: block; } + } + } + + div.sheet-armor { + $armorGrid: 1fr 5em 5em 1em 1em; + div.sheet-headers { grid-template-columns:$armorGrid; } + + div.repitem { + grid-template-columns: $armorGrid; + @include repeatingInformation(6, false); + + div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: $armorGrid; + + div.sheet-row { + grid-column: 1 / 6; + } + } + } + + } + } + + /*** AUGS ****/ + div.sheet-augs { + $augsGrid: 1fr 5em 5em 1em 1em;; + + div.sheet-headers { + display: grid; + grid-template-columns:$augsGrid; + } + + div.repitem { + grid-template-columns: $augsGrid; + @include repeatingInformation(6, true); + + input[name='attr_augementation'] { text-align: left; } + + div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: $augsGrid; + } + } + } + + /*** GEAR ****/ + div.sheet-gear { + $gearGrid: 1fr 5em 5em 1em 1em;; + + div.sheet-headers { + display: grid; + grid-template-columns:$gearGrid; + } + + div.repitem { + grid-template-columns: $gearGrid; + @include repeatingInformation(6, true); + + input[name='attr_item'] { text-align: left; } + + div.sheet-settings { + grid-column: 1 / 6; + grid-template-columns: $gearGrid; + } + } + } + + /***** MAGIC *****/ + div.sheet-magic { + $magicGrid: 30% 1.5fr 1.5fr 2fr 2em 1em 1em; + + input.sheet-magic-toggle[value='rituals'] ~ .sheet-headers h2:nth-of-type(1n+2) { + @extend %display-none; + } + + h2:nth-of-type(1n+2) { text-align: center; } + h3 { color: $blacker; } + + div.sheet-headers { + display: grid; + @extend %gridGap; + grid-template-columns:$magicGrid; + + h3:nth-of-type(1n+2) { text-align: center; } + } + + + /***** SPELLS & PREPARTATIONS *****/ + div.sheet-spellsForumlas { + div.repitem { + grid-template-columns: $magicGrid; + + @include repeatingInformation(8, false); + + input[name='attr_damage'], + input[name='attr_dicepool_modifier'] { + width: 3.5em; + } + + select[name='attr_category'] { grid-row: 2; } + + div.sheet-row { grid-column: 1 / 6; } + + div.sheet-settings { + grid-column: 1 / 8; + grid-template-columns: $magicGrid; + } + } + } + + /***** RITUALS *****/ + div.sheet-magic-rituals { + $ritualsGrid: 1fr 1em 1em; + + @include repeatingInformation(4, false); + + div.repitem { + grid-template-columns: $ritualsGrid; + + label { + &[data-i18n-title='name'] { grid-column: 1 / 4; } + } + + div.sheet-row { grid-column: 1 / 4; } + } + + div.sheet-settings { + grid-template-columns: $ritualsGrid; + grid-column: 1 / 4; + } + } + + div.sheet-magic-preps, div.sheet-magic-spells { + textarea { width: 93%; } + } + + /***** PREPARATIONS *****/ + div.sheet-magic-preps { + /* READIED PREPARATIONS */ + div.sheet-prepared-preparations { + $preparationsGrid: 40% 1fr 1fr 2fr 1em 1em; + + div.sheet-headers { + grid-template-columns:$preparationsGrid ; + } + + div.repitem { + grid-template-columns: $preparationsGrid ; + + @include repeatingInformation(7, false); + + div.sheet-settings { + grid-column: 1 / 7; + grid-template-columns: $preparationsGrid; + + select { grid-column: 4 / 7; } + + textarea { width: 100%; } + } + } + } + } + + + /***** ADEPT POWERS *****/ + div.sheet-powers { + $powersGrid: 1fr 3em 1em 1em;; + + div.sheet-headers { + grid-template-columns:$powersGrid; + } + + div.repitem { + grid-template-columns: $powersGrid; + @include repeatingInformation(5, true); + + div.sheet-settings { + grid-column: 1 / 5; + grid-template-columns: $powersGrid; + } + } + } + } + + /*** MATRIX ****/ + div.sheet-matrix { + h3 { color: $blacker; } + + div.sheet-commlinks { + $commlinkGrid: auto 1fr auto 1fr; + + div.repitem{ + grid-template-columns: $commlinkGrid; + @include repeatingInformation(6, false); + + input:not([value='']) { + background-color: transparent; + } + + .sheet-con-hex { + grid-column: 1 / 5; + } + } + } + + div.sheet-programs { + $programGrid: 1em 1fr 1.5em 1em; + + div.repitem { + grid-template-columns: $programGrid; + @extend %borderBottom; + @include repeatingInformation(6, false); + + input[name='attr_program_on'] { + grid-area: 1 / 1 / 1 / 1; + + &:checked + span { + color: $accent; + font-weight: bolder; + + & + span { + font-weight: bolder; + } + } + + & + span { + grid-area: 1 / 1 / 1 / 1; + } + } + } + + div.sheet-settings { + grid-column: 1 / 6; + + div.sheet-col { + &:nth-of-type(1) { + grid-column: 1 / 4; + + & > label { + width: 100%; + } + } + + &:nth-of-type(2) { + grid-column: 4 / 6; + text-align: center; + + & > label { + width: 3em; + } + } + + //Select row + &:nth-of-type(3) { + grid-area: 2 / 1 / 2 / 3; + } + + &:nth-of-type(4) { + grid-area: 2 / 3 / 2 / 4; + } + + &:nth-of-type(5) { + grid-column: 4 / 6; + text-align: center; + + & > label { + width: 3em; + } + } + } + + input[type='text'] { + grid-column: 1 / 4; + text-align: left; + } + } + } + + div.sheet-complex-forms { + $complexFormsGrid: 30% 1fr 1fr 4em 1em 1em; + + div.sheet-headers { + display: grid; + @extend %gridGap; + grid-template-columns: $complexFormsGrid; + + h2:nth-of-type(1n+2) { text-align: center; } + } + + div.repitem { + grid-template-columns: $complexFormsGrid; + + @include repeatingInformation(7, false); + + div.sheet-row { + grid-column: 1 / 7; + } + + div.sheet-settings { + grid-column: 1 / 7; + grid-template-columns: $complexFormsGrid; + } + } + } + } + + /*** SOCIAL ****/ + div.sheet-social { + + div.sheet-lifestyle { + $lifestyleGrid: 1fr 1.5em 1em 1em; + div.repitem { + grid-template-columns: $lifestyleGrid; + @include repeatingInformation(5, false); + + div.sheet-collapse { + padding-left: 2%; + + h3 { + margin-right: 1%; + } + } + + div.sheet-settings { + grid-column: 1 / 5; + padding: 1% 2% 5% 2%; + min-height: 300px; + + textarea { + height: 45px; + min-height: 45px; + } + } + } + } + + div.sheet-contacts { + $contactsGrid: 1fr 4em 5.5em 4em 1.5em 1em 1em; + + div.sheet-headers { + display: grid; + grid-template-columns: $contactsGrid; + grid-column-gap: 1%; + width: 100%; + } + + div.repitem { + grid-template-columns: $contactsGrid; + @include repeatingInformation(8, false); + + + div.sheet-settings { + grid-column: 1 / 8; + } + } + } + } + + /*** Vehicle ****/ + div.sheet-vehicle { + + } + + /***** SECONDARY HEADERS LIKE ON SKILLS *****/ + div.sheet-htab { + margin-right: -47px; + + input { + &[type='radio'] { + margin-right: -80px; + top : 4px; + width : 80px; + + & + h1 { + color: #9a9a9a; + } + + &:hover ~ h1, + &:checked ~ h1 { + color: $accent + } + } + } + } + } + @import 'src/scss/_pc'; + + +/******************************************************************************************/ +/**************************** START OF THE NPC SHEET *************************************/ +/****************************************************************************************/ + @import 'src/scss/_npc'; + +/**************************************************************************/ +/***************** PC & NPC SHEET SHOW & HIDE SETTINGS *******************/ +/************************************************************************/ + +/* DISPLAY SETTINGS + ============================= */ + @import 'src/scss/_hide'; + + +/*****************************************************************************************/ +/**************************************** FOOTER ****************************************/ +/***************************************************************************************/ + /**** Footer ****/ + div.sheet-footer { + border : none; + font-size : 0.55em; + line-height: 15px; + margin-top : 15px; + text-align : left; + width : 700px; + + div { + display: inline-block; + width: 90%; + } + + img { + float: right; + vertical-align: top; + width: 5%; + } + } + +/********************************************************************************************************/ +/**************************************** REPEATING SECTIONS *******************************************/ +/********************************************************************************************************/ + @import 'src/scss/_repeatingsection'; + +/********************************************************************************************************/ +/**************************************** Roll template *******************************************/ +/********************************************************************************************************/ + + @import 'src/scss/_rolltemplate'; + +/********************************************************************************************************/ +/******************************* FireFox *******************************************/ +/******************************************************************************************************/ + +input[type=number]::-webkit-outer-spin-button, +input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0;} + +input[type=number] { + -moz-appearance:textfield;} + + + /********************************************************************************************/ +/***************** French Adjustments ********************************/ +/*******************************************************************************************/ + @import 'src/scss/layouts/_lang-fr'; \ No newline at end of file diff --git a/Shadowrun4thEdition/preview.png b/Shadowrun4thEdition/preview.png new file mode 100644 index 0000000000..cf9d944f4c Binary files /dev/null and b/Shadowrun4thEdition/preview.png differ diff --git a/Shadowrun4thEdition/sheet.json b/Shadowrun4thEdition/sheet.json new file mode 100644 index 0000000000..8c8ec46ac3 --- /dev/null +++ b/Shadowrun4thEdition/sheet.json @@ -0,0 +1,25 @@ +{ + "html": "Shadowrun4thEdition.html", + "css": "Shadowrun4thEdition.css", + "authors": "Cassie Levett", + "roll20userid": "557736", + "patreon": "https://www.patreon.com/emeraldgrid", + "preview": "preview.png", + "instructions": "This characters sheet is not in active development and will have limited support from original author. *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.*", + "useroptions": [ + { + "attribute": "gm_toggle", + "displayname": "GM Whisper", + "displaytranslationkey": "gm-whisper", + "type": "select", + "options": [ + "Whisper|/w gm", + "Public|" + ], + "optiontranslationkeys": ["whisper", "public"], + "default": "Whisper", + "description": "Set the default for rolling in public or to gm.", + "descriptiontranslationkey": "whisperdescription" + } + ] +} \ No newline at end of file diff --git a/Shadowrun4thEdition/src/html/core.html b/Shadowrun4thEdition/src/html/core.html new file mode 100644 index 0000000000..54129b2ccf --- /dev/null +++ b/Shadowrun4thEdition/src/html/core.html @@ -0,0 +1,137 @@ +
+
+

Core Combat Info

+
+ +
+
+
+
+

Primary Armor

+ +

Rating

+ + / + +
+ + + +
+
+
+

Primary Ranged Weapon

+ + + + + +
+
+

Dam

+

AP

+

Mode

+

RC

+

Ammo

+ + + +
+
+

Primary Melee Weapon

+ +
+
+

Reach

+

Dam

+

AP

+
+
+
+
+ +
+

Condition Monitor

+
+
+ x +
+ + + + + + / +
+ +
+ + +
+
+ + / + +
+
+
+ + +
+ + + +
-1
+ + +
-2
+ + +
-3
+ + +
-4
+ + +
-5
+ + +
-6
+
+ +
+
+ + +
+ + + +
-1
+ + +
-2
+ + +
-3
+ + +
-4
+ + +
-5
+
+ +
+
+
+
+
\ No newline at end of file diff --git a/Shadowrun4thEdition/src/html/hidden.html b/Shadowrun4thEdition/src/html/hidden.html new file mode 100644 index 0000000000..35a6511b73 --- /dev/null +++ b/Shadowrun4thEdition/src/html/hidden.html @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Shadowrun4thEdition/src/html/options.html b/Shadowrun4thEdition/src/html/options.html new file mode 100644 index 0000000000..17da819e42 --- /dev/null +++ b/Shadowrun4thEdition/src/html/options.html @@ -0,0 +1,50 @@ +
+
+

Options

+
+
+
+
+

Character


+
+
+ +
+
+
+

Sheet Select


+ +
+
+
+
+
+

Temporary Modifiers


+ + +
+ + + + + + + + + + +
+ + +
+
+
+
+
+
\ No newline at end of file diff --git a/Shadowrun4thEdition/src/html/rolltemplates.html b/Shadowrun4thEdition/src/html/rolltemplates.html new file mode 100644 index 0000000000..8f04413348 --- /dev/null +++ b/Shadowrun4thEdition/src/html/rolltemplates.html @@ -0,0 +1,28 @@ +
+ + +
+
+ {{#header}}{{header}}{{/header}}{{#spec}} ({{spec}}){{/spec}}
+ {{#arm}}{{arm}}{{/arm}} + {{#base}}{{base}}{{/base}} + {{#rollLess() wound 0}} ♦ Wounds{{/rollLess() wound 0}} + {{#rollLess() mod 0}} ♦ Modifier{{/rollLess() mod 0}} + {{#rollGreater() mod 0}} ♦ Modifier{{/rollGreater() mod 0}} + {{#rollGreater() edge 0}} ♦ Edge{{/rollGreater() edge 0}} +
+ {{#dice}}
{{dice}}
{{/dice}} + {{#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}} +
+
+
diff --git a/Shadowrun4thEdition/src/html/skillselect.html b/Shadowrun4thEdition/src/html/skillselect.html new file mode 100644 index 0000000000..5a317731cf --- /dev/null +++ b/Shadowrun4thEdition/src/html/skillselect.html @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Shadowrun4thEdition/src/html/static.html b/Shadowrun4thEdition/src/html/static.html new file mode 100644 index 0000000000..1f4609d5e0 --- /dev/null +++ b/Shadowrun4thEdition/src/html/static.html @@ -0,0 +1,309 @@ + +
+

Personal Data

+
+
+
+

NAME/PRIMARY ALIAS

+
+
+

Metatype

+

Ethnicity

+
+
+

Age

+

Sex

+

Height

+

Weight

+
+
+

Street Cred

+

Notoriety

+

Public Awereness

+
+
+

Karma

+

Total Karma

+

Misc

+
+
+
+
+ +
+

Attributes

+
+
+ x +
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + + +
+
+ + + = + +
+
+
+ + +
+
+ +
+
+
+
+ + + + + + + + + + +
+
+
+ + +
+
+
+
+ + + + +
+
+
+ + + = + +
+
+ + + = + +
+
+
+
+
+
+
+ + + +
+
+ + = + +
+
+ +
+
+ + + + +
+
+ + = + +
+
+ +
+
+ + + +
+
+ + = + +
+
+ +
+
+ + + +
+
+ + = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + +
+
+ = + +
+
+ +
+
+ + + + +
+
+ / + / + + +
+
+ / + / + + +
+
+
+
+
+
diff --git a/Shadowrun4thEdition/src/html/vehicle.html b/Shadowrun4thEdition/src/html/vehicle.html new file mode 100644 index 0000000000..181ce8c61a --- /dev/null +++ b/Shadowrun4thEdition/src/html/vehicle.html @@ -0,0 +1,138 @@ +
+
+

Vehicle

+
+
+
+ +
+
+
+ + + + + + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+

Base

Modifier

+

Temp

Base

+

Modifier

Temp

+
+

Notes

+ +
+
+
+ +
+
+

Vehicle

+
+ +
+
+
+

Handling

+
+ +
+
+
+
+
+

Acceleration

+
+ +
+
+
+

Speed

+
+ +
+
+
+
+
+

Pilot

+
+ +
+
+
+

Body

+
+ +
+
+
+
+
+

Armor

+
+ +
+
+
+

Sensor

+
+ +
+
+
+
+
+
+
+ x +
+
+
+
+
diff --git a/Shadowrun4thEdition/src/imgs/Blackbackground.jpg b/Shadowrun4thEdition/src/imgs/Blackbackground.jpg new file mode 100644 index 0000000000..1cb8c34f05 Binary files /dev/null and b/Shadowrun4thEdition/src/imgs/Blackbackground.jpg differ diff --git a/Shadowrun4thEdition/src/imgs/EProd_Emerald_Gloss.png b/Shadowrun4thEdition/src/imgs/EProd_Emerald_Gloss.png new file mode 100644 index 0000000000..5f1fa90a44 Binary files /dev/null and b/Shadowrun4thEdition/src/imgs/EProd_Emerald_Gloss.png differ diff --git a/Shadowrun4thEdition/src/imgs/EProd_Title_Green.jpg b/Shadowrun4thEdition/src/imgs/EProd_Title_Green.jpg new file mode 100644 index 0000000000..5cef8d391e Binary files /dev/null and b/Shadowrun4thEdition/src/imgs/EProd_Title_Green.jpg differ diff --git a/Shadowrun4thEdition/src/imgs/ShadowrunLogo.png b/Shadowrun4thEdition/src/imgs/ShadowrunLogo.png new file mode 100644 index 0000000000..4f9f8eae60 Binary files /dev/null and b/Shadowrun4thEdition/src/imgs/ShadowrunLogo.png differ diff --git a/Shadowrun4thEdition/src/imgs/gun.png b/Shadowrun4thEdition/src/imgs/gun.png new file mode 100644 index 0000000000..f1566799ae Binary files /dev/null and b/Shadowrun4thEdition/src/imgs/gun.png differ diff --git a/Shadowrun4thEdition/src/js/Classes/PrimaryArmor.js b/Shadowrun4thEdition/src/js/Classes/PrimaryArmor.js new file mode 100644 index 0000000000..b257f27d5d --- /dev/null +++ b/Shadowrun4thEdition/src/js/Classes/PrimaryArmor.js @@ -0,0 +1,13 @@ +class PrimaryArmor { + constructor(name) { + this.armor_name = name || 'select a Primary in Arms', + this.soak = 0, + this.soak_modifier = 0, + this.armor_rating = 0, + this.acid_modifier = 0, + this.cold_modifier = 0, + this.fire_modifier = 0, + this.radiation_modifier = 0, + this.electrical_modifier = 0 + } +} \ No newline at end of file diff --git a/Shadowrun4thEdition/src/js/Classes/PrimaryWeapon.js b/Shadowrun4thEdition/src/js/Classes/PrimaryWeapon.js new file mode 100644 index 0000000000..75fd6e1a53 --- /dev/null +++ b/Shadowrun4thEdition/src/js/Classes/PrimaryWeapon.js @@ -0,0 +1,27 @@ +class PrimaryWeapon { + constructor(type) { + this[`primary_${type}_weapon`] = 'select a Primary in Arms', + this[`primary_${type}_weapon_skill`] = type === 'range' ? '@{firearms}' : '@{closecombat}', + this[`primary_${type}_weapon_damage`] = '', + this[`primary_${type}_weapon_dicepool`] = '', + this[`primary_${type}_weapon_ap`] = '' + } +} + +class PrimaryRangeWeapon extends PrimaryWeapon { + constructor(type) { + super(type) + this[`primary_${type}_weapon_mode`] = '', + this[`primary_${type}_weapon_recoil`] = '', + this[`primary_${type}_weapon_ammo`] = '', + this[`primary_${type}_weapon_ammo_max`] = '' + } +} + +class PrimaryMeleeWeapon extends PrimaryWeapon { + constructor(type) { + super(type) + this[`primary_${type}_weapon_reach`] = '' + } +} + diff --git a/Shadowrun4thEdition/src/js/attributes.js b/Shadowrun4thEdition/src/js/attributes.js new file mode 100644 index 0000000000..e00b1d858a --- /dev/null +++ b/Shadowrun4thEdition/src/js/attributes.js @@ -0,0 +1,46 @@ + +const sheetAttributes = { + attributes: ['body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition', 'charisma', 'edge'], + translationsAttributes: ['attribute', 'body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition', 'charisma', 'edge', 'none'], + repeating: ['quality', 'martial', 'items', 'range', 'melee', 'armor', 'spell', 'preps', 'ritual', 'powers', 'forms', 'vehicle', 'augementations', 'lifestyle', 'contacts', 'programs'], + repeatingSkills: ['active', 'knowledge', 'language'], + tabs: [`core`, `arms`, `augs`, `gear`, `magic`, `matrix`, `social`, `vehicle`, `options`], + woundCalculation: ['high_pain_tolerance', 'low_pain_tolerance', 'damage_compensators_physical', 'damage_compensators_stun', 'stun', 'physical'], + + calculatedAttributes: ['body', 'agility', 'reaction', 'strength', 'willpower', 'logic', 'intuition','charisma','magic', 'resonance', 'attack', 'sleaze', 'data_processing', 'firewall'], + + initiative: ['reaction', 'intuition', 'initiative_modifier', 'initiative_temp', 'initiative_temp_flag'], + initiative_passes: ['initiative_passes_base', 'initiative_passes_modifier', 'initiative_passes_temp', 'initiative_passes_temp_flag'], + astral_initiative: ['intuition', 'astral_initiative_modifier'], + matrix_initiative: [], + + derivedAttributes: ['memory', 'composure', 'defense', 'soak', 'overflow', 'judge_intentions', 'lift_carry'], + lift_carry: ['body', 'strength', 'lift_carry_modifier'], + overflow: ['body', 'overflow_modifier'], + soak: ['body', 'soak_modifier', 'soak_temp', `soak_temp_flag`], + defense: ['reaction', 'defense_modifier', 'defense_temp', `defense_temp_flag`], + judge_intentions: ['charisma', 'intuition', 'judge_intentions_modifier'], + composure: ['charisma', 'willpower', 'composure_modifier'], + memory: ['logic', 'willpower', 'memory_modifier'], + + conditionTracks: ['stun', 'physical', 'matrix'], + physical: ['physical_modifier', 'body', 'sheet_type', 'flag_drone'], + stun: ['stun_modifier', 'willpower'], + matrix: ['matrix_modifier', 'device_rating'], + + stunCharacters: ['grunt', 'pc'], + physicalCharacters: ['grunt', 'pc', 'vehicle'], + matrixCharacters: ['vehicle', 'host', 'sprite'], + matrixAttributes: ['attack', 'sleaze', 'data_processing', 'firewall'], + + weaponTypes: ['range', 'melee'], + rangeAttributes: ['dicepool', 'weapon', 'damage', 'ap', 'skill', 'ammo', 'mode', 'recoil'], + meleeAttributes: ['dicepool', 'weapon', 'damage', 'ap', 'skill', 'reach'], + + spellTypes: ['spell', 'preps', 'ritual', 'forms'], + + armorAttributes: ['name', 'impact', 'ballistic', 'modifier'], + armorSoak: ['modifier', 'rating'], + armorProtections: ['impact', 'acid', 'electrical', 'cold', 'fire', 'falling'] +} + diff --git a/Shadowrun4thEdition/src/js/eventhandlers.js b/Shadowrun4thEdition/src/js/eventhandlers.js new file mode 100644 index 0000000000..a6b64eba84 --- /dev/null +++ b/Shadowrun4thEdition/src/js/eventhandlers.js @@ -0,0 +1,82 @@ + + on('sheet:opened', () => { + //-getAttrs(['version'], v => { versioning(parseFloat(v.version) || 1); }); + translations(); + }); + + on('clicked:shots_remove clicked:shots_add', eventinfo => updateShotsFired(eventinfo.triggerName)) + + on('clicked:primary_ammo', () => updateAmmoWithShotsFired()) + + on('clicked:reload', () => updateAmmoWithMax()) + + sheetAttributes.tabs.forEach(attr => on(`clicked:tab_${attr}`, () => updateTab(attr))) + + on('change:agility change:walk_modifier change:run_modifier', () => updateMovement()) + + sheetAttributes.calculatedAttributes.forEach(attribute => { + const attributeArray = [`${attribute}_base`, `${attribute}_modifier`, `${attribute}_temp`, `${attribute}_temp_flag`] + attributeArray.forEach(attr => on(`change:${attr}`, () => updateAttributes(attributeArray, attribute))) + }); + + sheetAttributes.initiative.forEach(attr => on(`change:${attr}`, () => updateAttributes(sheetAttributes.initiative, 'initiative'))) + + sheetAttributes.initiative_passes.forEach(attr => on(`change:${attr}`, () => updateAttributes(sheetAttributes.initiative_passes, 'initiative_passes'))) + + sheetAttributes.astral_initiative.forEach(attr => on(`change:${attr}`, () => updateAstralInitiative())) + + sheetAttributes.derivedAttributes.forEach(derivedAttribute => { + sheetAttributes[derivedAttribute].forEach(attr => on(`change:${attr}`, () => updateDerivedAttribute(derivedAttribute))) + }) + + sheetAttributes.conditionTracks.forEach(conditionTrack => { + sheetAttributes[conditionTrack].forEach(attr => on(`change:${attr}`, () => updateConditionTracks(conditionTrack))) + }) + + sheetAttributes.woundCalculation.forEach(attr => on(`change:${attr}`, () => updateWounds())) + + sheetAttributes.repeatingSkills.forEach(field => { + on(`change:repeating_${field}:rating change:repeating_${field}:rating_modifier`, eventinfo => updateRepeatingSkillRating(eventinfo.triggerName)) + on(`change:repeating_${field}:attribute`, eventinfo => updateRepeatingSkillAttribute(eventinfo)) + on(`change:repeating_${field}:dicepool`, eventinfo => updateRepeatingSkillDicepool(eventinfo)) + }) + + sheetAttributes.weaponTypes.forEach(type => { + on(`change:repeating_${type}:dicepool_modifier change:repeating_${type}:specialization`, eventinfo => updateRepeatingWeaponDicepool(eventinfo.triggerName)) + on(`change:repeating_${type}:primary`, eventinfo => updateRepeatingWeaponPrimary(eventinfo, type)) + }) + + sheetAttributes.rangeAttributes.forEach(attr => on(`change:repeating_range:${attr}`, eventinfo => updatePrimary(eventinfo))) + + sheetAttributes.meleeAttributes.forEach(attr => on(`change:repeating_melee:${attr}`, eventinfo => updatePrimary(eventinfo))) + + sheetAttributes.armorAttributes.forEach(attr => on(`change:repeating_armor:${attr}`, eventinfo => updatePrimary(eventinfo))) + + on("change:repeating_armor:primary", eventinfo => updateRepeatingArmorPrimary(eventinfo)) + + on(`change:repeating_active:skill`, eventinfo => updateRepeatingSkillName(eventinfo)) + + on('clicked:cond_reset_physical clicked:cond_reset_stun', eventinfo => resetConditionTrack(eventinfo)) + + on('change:edge_toggle', eventinfo => edgeToggle(eventinfo.newValue)) + + on('change:device_rating change:matrix_modifier', () => updateMatrixMaximum()) + + on('change:intuition change:astral_mod_modifier', () => updateAstralInitiative()) + + on('change:initiative_passes_modifier change:edge_toggle change:initiative_passes_temp change:initiative_passes_temp_flag', () => updateInitiativeDice()) + + on('change:astral_dice_modifier change:edge_toggle', () => updateAstralInitiativeDice()) + + on('change:host_rating change:data_processing change:pilot change:intuition change:matrix_initiative_modifier change:level change:matrix_dice_modifier change:edge_toggle', () => updateMatrixInitiative()) + + on("clicked:cond_reset", () => resetNpcCondition()); + + sheetAttributes.spellTypes.forEach(type => on(`change:repeating_${type}:dicepool_modifier change:repeating_${type}:specialization`, eventinfo => updateSpellsDicepool(eventinfo))) + + on("change:level", eventinfo => updateSpriteConditionTrack(eventinfo.newValue)) + + on("change:host_rating", eventinfo => updateHostAttributes(eventinfo.newValue)) + + on("change:default_attribute", eventinfo => updateDefaultAttribute(eventinfo.newValue)) + diff --git a/Shadowrun4thEdition/src/js/processingFunctions.js b/Shadowrun4thEdition/src/js/processingFunctions.js new file mode 100644 index 0000000000..c94d819bee --- /dev/null +++ b/Shadowrun4thEdition/src/js/processingFunctions.js @@ -0,0 +1,185 @@ + + +const processingFunctions = { + convertIntegerNegative: number => number > 0 ? -Math.abs(number) : number, + convertIntegersNegatives: numbers => { + for (let [key, value] of Object.entries(numbers)) { + numbers[key] = processingFunctions.convertIntegerNegative(value); + } + return numbers + }, + + findRepeatingField: trigger => trigger.split('_')[1], + //Roll20 does not allow for Promises + //getAttributes: array => new Promise((resolve, reject) => array ? getAttrs(array, v => resolve(v)) : reject(errorMessage('Function failed'))), + getReprowid: trigger => { + const split = trigger.split('_'); + return `${split[0]}_${split[1]}_${split[2]}` + }, + + getReprowAttribute: key => { + const getReprowid = processingFunctions.getReprowid(key) + return key.split(`${getReprowid}_`)[1] + }, + + getTranslations: translationKeys => { + let translations = {} + translationKeys.forEach(key => translations[`${key}`] = getTranslationByKey(key)) + return translations + }, + + parseInteger: string => parseInt(string) || 0, + parseIntegers: numbers => { + for (let [key, value] of Object.entries(numbers)) { + numbers[key] = parseInt(value) || 0; + } + return numbers + }, + + setAttributes: (update, silent) => silent && typeof update === 'object' ? setAttrs(update, {silent:true}) : typeof update === 'object' ? setAttrs(update) : console.error(`${update} is not an object`), + + sliceAttr: attribute => attribute.slice(2, -1), + + sumIntegers: numbers => numbers.reduce((a,b) => a + b, 0), + + shadowrun: { + addRepRow: (repRowID, attributeList) => { + let weaponAttributeWithRepeatingRow = [] + attributeList.forEach(weaponAttribute => weaponAttributeWithRepeatingRow.push(`${repRowID}_${weaponAttribute}`)) + return weaponAttributeWithRepeatingRow + }, + attributeFactory: attrs => { + attrs = processingFunctions.shadowrun.findFlagInKeys(attrs) ? processingFunctions.shadowrun.processTempFlags(attrs) : attrs + attrs = processingFunctions.parseIntegers(attrs) + attrs = processingFunctions.shadowrun.calculateBonuses(attrs) + attrs.total = processingFunctions.sumIntegers(Object.values(attrs)) + attrs.base = attrs.total - attrs.bonus + return attrs + }, + conditionFactory: attrs => { + attrs.attribute = processingFunctions.shadowrun.determineConditionAttribute(attrs) + attrs.base = processingFunctions.shadowrun.determineConditionBase(attrs.sheet_type, attrs.flag_drone) + attrs.modifier = attrs[processingFunctions.shadowrun.findModifierInKeys(attrs)] + Object.keys(attrs).forEach(key => !['attribute', 'base', 'modifier'].includes(key) ? delete attrs[key] : false) + attrs = processingFunctions.parseIntegers(attrs) + return attrs + }, + contructRepeatingWeaponAttributes: (repRowID, type) => { + const attributeList = processingFunctions.shadowrun.determineWeaponAttributesByType(type) + const constructedWeaponAttributes = processingFunctions.shadowrun.addRepRow(repRowID, attributeList) + return constructedWeaponAttributes + }, + buildDisplay: (base, bonus) => bonus === 0 ? base : `${base} (${base + bonus})`, + calculateBonuses: attrs => { + attrs.bonus = 0 + for (let [key, value] of Object.entries(attrs)) { + if (key.includes('modifier') || key.includes('temp')) { + attrs.bonus += value + delete attrs[key] + } + } + return attrs + }, + calculateConditionTracks: conditionInts => Math.ceil(conditionInts.attribute/2) + conditionInts.base + conditionInts.modifier, + calculateRunSpeed: (agility, modifier) => 25 + modifier, + calculateWalkSpeed:(agility, modifier) => 10 + modifier, + calculateWounds: attrs => { + const divisor = attrs.low_pain_tolerance === 2 ? attrs.low_pain_tolerance : 3; + const highPain = attrs.high_pain_tolerance >= 1 ? attrs.high_pain_tolerance : 0; + let sum = 0; + + ["stun", "physical"].forEach(attr => { + const damageCompensator = attrs[`damage_compensators_${attr}`] || 0 + let dividend = Math.max(attrs[`${attr}`] - (highPain + damageCompensator), 0) + sum -= Math.floor(dividend / divisor) || 0 + }) + return sum + }, + convertSkillSelectToHiddenSkill: skillName => { + let skill = skillName.toLowerCase() + skill = skill.includes('group') ? skill.slice(0, -6) : skill + skill = skill.includes(" ") ? skill.replace(/ /g,"") : skill + return skill + }, + determineConditionBase: (type, drone) => drone && drone === 'drone' ? 6 : type === 'vehicle' ? 12 : 8, + determineConditionAttribute: attrs => attrs.willpower ? attrs.willpower : attrs.body ? attrs.body : attrs.device_rating ? attrs.device_rating : 0, + determineWeaponAttributesByType: weaponType => weaponType === 'range' ? sheetAttributes.rangeAttributes : sheetAttributes.meleeAttributes, + determineExplodingEdge: newValue => newValue === `@{edge}` ? "!" : "", + findFlagInKeys: attrs => Object.keys(attrs).find(key => key.includes('_flag')), + findModifierInKeys: attrs => Object.keys(attrs).find(key => key.includes('_modifier')), + processTempFlags: attrs => { + try { + const tempFlag = processingFunctions.shadowrun.findFlagInKeys(attrs) + const attrName = tempFlag.split('_temp_flag')[0] + attrs[`${tempFlag}`] === 'on' ? false : delete attrs[`${attrName}_temp`]; + delete attrs[`${tempFlag}`]; + return attrs + } catch (error) { + console.error(error) + } + }, + resetRepeatingFieldsPrimaries: (repeatingSection, repRowID) => { + getSectionIDs(repeatingSection, ids => { + let attributesWithIDs = []; + let update = {}; + ids.forEach(id => attributesWithIDs.push(`${repeatingSection}_${id}_primary`)) + attributesWithIDs.forEach(attribute => !attribute.includes(repRowID) ? update[attribute] = 0 : false) + setAttrs(update); + }) + }, + shotsFired: (shots, trigger) => shots > 0 && trigger.includes('remove') ? shots -= 1 : trigger.includes('add') ? shots += 1 : shots, + resetPrimaryArmor: () => { + const resetPrimary = new PrimaryArmor() + let update = {} + for (let [key, value] of Object.entries(resetPrimary)) { + update[key] = value + } + return update + }, + resetPrimaryWeapon: type => { + const resetPrimary = type === 'range' ? new PrimaryRangeWeapon(type) : new PrimaryMeleeWeapon(type) + let update = {} + for (let [key, value] of Object.entries(resetPrimary)) { + update[key] = value + } + return update + }, + updatePrimaryArmor: attrs => { + let update = {} + + for (let [key, value] of Object.entries(attrs)) { + const repRowID = processingFunctions.getReprowid(key) + if (key.includes('name')) { + update['armor_name'] = attrs[`${repRowID}_name`] + } else if (key.includes('impact')) { + update['impact'] = value + } else if (key.includes('modifier')) { + update['soak_modifier'] = value + } else { + update[`ballistic`] = value + } + } + + return update + }, + updatePrimaryWeapons: attrs => { + let update = {} + for (let [key, value] of Object.entries(attrs)) { + const type = processingFunctions.findRepeatingField(key) + const weaponAttribute = processingFunctions.getReprowAttribute(key) + const primaryAttributeName = key.includes('weapon') ? `primary_${type}_weapon` : `primary_${type}_weapon_${weaponAttribute}` + update[primaryAttributeName] = value + + if (key.includes('ammo')) { + update[`${primaryAttributeName}_max`] = value + } + } + return update + } + } +} + + +//for Mocha Unit Texting +//module.exports = processingFunctions; + diff --git a/Shadowrun4thEdition/src/js/scripts.js b/Shadowrun4thEdition/src/js/scripts.js new file mode 100644 index 0000000000..6178ead69f --- /dev/null +++ b/Shadowrun4thEdition/src/js/scripts.js @@ -0,0 +1,477 @@ + //Edge toggle to include ! for exploding dice +const edgeToggle = newValue => { + processingFunctions.setAttributes({ + explode_toggle: processingFunctions.shadowrun.determineExplodingEdge(newValue) + }) +} + +const updateHostAttributes = newValue => { + newValue = processingFunctions.parseInteger(newValue) + processingFunctions.setAttributes({ + matrix_max: 8 + Math.ceil(newValue/2), + ic_attack: Math.min(newValue + newValue) + }) +} + +const updateSpriteConditionTrack = newValue => { + newValue = processingFunctions.parseInteger(newValue) + processingFunctions.setAttributes({ + matrix_max: 8 + Math.ceil(newValue/2) + }) +} + +//ALSO COVER COMPLEX FORMS +const updateSpellsDicepool = eventinfo => { + const repRowID = processingFunctions.getReprowid(eventinfo.triggerName) + getAttrs([`${repRowID}_specialization`, `${repRowID}_dicepool_modifier`], attrs => { + attrs = processingFunctions.parseIntegers(attrs) + processingFunctions.setAttributes({ + [`${repRowID}_dicepool`]: processingFunctions.sumIntegers(Object.values(attrs)) + }) + }) +} + +const resetNpcCondition = () => setAttributes({physical: 0, stun: 0, matrix: 0}) + +const updatePrimary = eventinfo => { + const repRowID = processingFunctions.getReprowid(eventinfo.triggerName) + getAttrs([`${repRowID}_primary`], attrs => { + if (attrs[`${repRowID}_primary`] === 'primary') { + let update = {} + + if (repRowID.includes('armor')) { + update = processingFunctions.shadowrun.updatePrimaryArmor({[eventinfo.triggerName]: eventinfo.newValue}) + } else { + update = processingFunctions.shadowrun.updatePrimaryWeapons({[eventinfo.triggerName]: eventinfo.newValue}) + } + + processingFunctions.setAttributes(update) + } + }) +} + +const updateRepeatingArmorPrimary = eventinfo => { + const repRowID = processingFunctions.getReprowid(eventinfo.triggerName) + if (eventinfo.newValue === undefined) { + return false + } else if (eventinfo.newValue === 'primary') { + const constructedArmorAttributes = processingFunctions.shadowrun.addRepRow(repRowID, sheetAttributes.armorAttributes) + getAttrs(constructedArmorAttributes, attrs => { + const update = processingFunctions.shadowrun.updatePrimaryArmor(attrs) + processingFunctions.setAttributes(update) + }) + processingFunctions.shadowrun.resetRepeatingFieldsPrimaries(`repeating_armor`, repRowID) + } else { + const update = processingFunctions.shadowrun.resetPrimaryArmor() + processingFunctions.setAttributes(update) + } +} + +const updateRepeatingWeaponPrimary = (eventinfo, type) => { + const repRowID = processingFunctions.getReprowid(eventinfo.triggerName) + if (eventinfo.newValue === undefined) { + return false + } else if (eventinfo.newValue === 'primary') { + const constructedWeaponAttributes = processingFunctions.shadowrun.contructRepeatingWeaponAttributes(repRowID, type) + getAttrs(constructedWeaponAttributes, attrs => { + const update = processingFunctions.shadowrun.updatePrimaryWeapons(attrs) + processingFunctions.setAttributes(update) + }) + processingFunctions.shadowrun.resetRepeatingFieldsPrimaries(`repeating_${type}`, repRowID) + } else { + const update = processingFunctions.shadowrun.resetPrimaryWeapon(type) + processingFunctions.setAttributes(update) + } +} + +const updateRepeatingWeaponDicepool = trigger => { + const repRowID = processingFunctions.getReprowid(trigger) + getAttrs([`${repRowID}_dicepool_modifier`, `${repRowID}_specialization`], attrs => { + attrs = processingFunctions.parseIntegers(attrs) + processingFunctions.setAttributes({ + [`${repRowID}_dicepool`]: processingFunctions.sumIntegers(Object.values(attrs)) + }) + }) +} + +const updateRepeatingSkillDicepool = eventinfo => { + const repRowID = processingFunctions.getReprowid(eventinfo.triggerName) + getAttrs([`${repRowID}_skill`], attrs => { + let skill = processingFunctions.shadowrun.convertSkillSelectToHiddenSkill(attrs[`${repRowID}_skill`]) + processingFunctions.setAttributes({ + [`${skill}`]: eventinfo.newValue + }) + }) +} + +const updateRepeatingSkillName = eventinfo => { + const repRowID = processingFunctions.getReprowid(eventinfo.triggerName) + const translationKey = eventinfo.newValue.replace(/ /g, '').toLowerCase() + const translation = getTranslationByKey(translationKey); + processingFunctions.setAttributes({ + [`${repRowID}_display_skill`]: translation + }) +} + +const updateRepeatingSkillAttribute = eventinfo => { + const repRowID = processingFunctions.getReprowid(eventinfo.triggerName) + const translationKey = processingFunctions.sliceAttr(eventinfo.newValue) + const translation = getTranslationByKey(translationKey); + processingFunctions.setAttributes({ + [`${repRowID}_display_attribute`]: translation + }) +} + +const updateRepeatingSkillRating = trigger => { + const repRowID = processingFunctions.getReprowid(trigger) + getAttrs([`${repRowID}_rating`, `${repRowID}_rating_modifier`], attrs => { + attrs = processingFunctions.shadowrun.attributeFactory(attrs) + processingFunctions.setAttributes({ + [`${repRowID}_dicepool`]: attrs.total, + [`${repRowID}_display_rating`]: processingFunctions.shadowrun.buildDisplay(attrs.base, attrs.bonus) + }) + }) +} + +const updateWounds = () => { + getAttrs(sheetAttributes.woundCalculation, attrs => { + attrs = processingFunctions.parseIntegers(attrs) + const sum = processingFunctions.shadowrun.calculateWounds(attrs) + processingFunctions.setAttributes({wounds: sum}) + }) +} + +const updateConditionTracks= conditionTrack => { + getAttrs(sheetAttributes[conditionTrack], attrs => { + attrs = processingFunctions.shadowrun.conditionFactory(attrs) + const conditionTotal = processingFunctions.shadowrun.calculateConditionTracks(attrs) + processingFunctions.setAttributes({[`${conditionTrack}_max`]: conditionTotal}, true) + }) +} + +const translations = () => { + const attributes = sheetAttributes.translationsAttributes + const translations = processingFunctions.getTranslations(attributes) + let attribute_roll = `?{${translations.attribute}` + delete translations.attribute + for (let [key, value] of Object.entries(translations)) { + attribute_roll += key !== 'none' ? `|${value},@{${key}}` : `|${value},0}` + } + processingFunctions.setAttributes({attribute_roll: attribute_roll}) +} + +const updateShotsFired = trigger => { + getAttrs([`shots_fired`], attrs => { + attrs = processingFunctions.parseIntegers(attrs) + const shots = processingFunctions.shadowrun.shotsFired(attrs.shots_fired, trigger) + processingFunctions.setAttributes({shots_fired: shots}) + }); +} + +const updateAmmoWithShotsFired = () => { + getAttrs([`primary_range_weapon_ammo`, `shots_fired`], attrs => { + attrs = processingFunctions.parseIntegers(attrs) + attrs.shots_fired = processingFunctions.convertIntegerNegative(attrs.shots_fired) + processingFunctions.setAttributes({primary_range_weapon_ammo: processingFunctions.sumIntegers(Object.values(attrs))}) + }); +} + +const updateAmmoWithMax = () => { + getAttrs([`primary_range_weapon_ammo_max`], attrs => { + attrs = processingFunctions.parseIntegers(attrs) + processingFunctions.setAttributes({primary_range_weapon_ammo: attrs.primary_range_weapon_ammo_max}) + }); +} + +const updateTab = attr => processingFunctions.setAttributes({tab: attr}) + +const updateAttributes = (array, attribute) => { + getAttrs(array, attrs => { + attrs = processingFunctions.shadowrun.attributeFactory(attrs) + processingFunctions.setAttributes({ + [attribute]: attrs.total, + [`display_${attribute}`]: attrs.base === attrs.total ? attrs.base : `${attrs.base} (${attrs.total})` + }) + }) +} + +const updateMovement = () => { + getAttrs(['agility', 'walk_modifier', 'run_modifier'], attrs => { + attrs = processingFunctions.parseIntegers(attrs) + processingFunctions.setAttributes({ + walk: processingFunctions.shadowrun.calculateWalkSpeed(attrs.agility, attrs.walk_modifier), + run: processingFunctions.shadowrun.calculateRunSpeed(attrs.agility, attrs.run_modifier) + }) + }) +} + +const updateDerivedAttribute = derivedAttribute => { + getAttrs(sheetAttributes[derivedAttribute], attrs => { + attrs = processingFunctions.shadowrun.attributeFactory(attrs) + processingFunctions.setAttributes({[derivedAttribute]: attrs.total}) + }) +} + + +//Calculate Astral Initiatve +const updateAstralInitiative = () => { + getAttrs(["intuition", "astral_initiative_modifier"], v => { + v = processingFunctions.parseIntegers(v); + const base = v.intuition * 2, bonus = v.astral_initiative_modifier, total = base + bonus; + + setAttrs({ + ["astral_initiative"]: total, + ["display_astral_initiative"]: bonus === 0 ? base : `${base} (${total})` + }); + }); +}; + +const resetConditionTrack = eventinfo => { + const attr = eventinfo.triggerName.split("_").pop() + processingFunctions.setAttributes({ + [`${attr}`] : 0 + }) +} + +//Calculate Matrix Initiatve. +const updateMatrixInitiative = () => { + getAttrs(["sheet_type", "data_processing", "pilot", "intuition", "matrix_mod_modifier", "host_rating", "level", "matrix_dice_modifier", "edge_toggle"], v => { + const sheetType = v.sheet_type; + const edgeFlag = v.edge_toggle === "@{edge}" ? true : false; + + v = processingFunctions.parseIntegers(v); + + let base = v.data_processing; + base += sheetType === "sprite" ? v.level : sheetType === "vehicle" ? v.pilot : sheetType === "host" ? v.host_rating : v.intuition; + + const total = base + v.matrix_mod_modifier; + + setAttrs({ + ["matrix_mod"]: total, + ["matrix_dice"]: sheetType === "grunt" && edgeFlag ? 5 : sheetType === "grunt" && !edgeFlag ? 4 + v.matrix_dice_modifier : 4, + ["display_matrix_mod"]: v.matrix_mod_modifier === 0 ? base : `${base} (${total})` + }) + }) +} + +//Setting the Default attribute name for default skill +const updateDefaultAttribute = newValue => { + getAttrs(["default_display"], value => { + const display = value.default_display + let update = {}; + + //This sets a hidden input with the Attribute name so the roll template can use it to indicate what attribute was rolled + const attribute = processingFunctions.sliceAttr(newValue) + const translation = getTranslationByKey(`${attribute}`) + if (translation != display) { + processingFunctions.setAttributes({default_display: translation}) + } + }) +} + + +/* OLD SCRIPTS */ +//This function checks changes to repeating_armor and updates the Primary Armor if needed +on("change:repeating_armor", (eventInfo) => { + const source = eventInfo.sourceAttribute; + const newV = eventInfo.newValue; + const arm = ["repeating_armor"]; + const armors = [`${arm}_name`, `${arm}_rating`, `${arm}_acid_modifier`, `${arm}_electrical_modifier`, `${arm}_laser_modifier`, `${arm}_gause_round_modifier`, `${arm}_cold_modifier`,`${arm}_fire_modifier`, `${arm}_radiation_modifier`, `${arm}_dicepool_modifier`]; + + //Check if the event was related to the primary flag & armor is set to primary + if (source.includes('primary') && newV === 'primary') { + //Get attributes from the repeating_armor + getAttrs(armors, (v) => { + let update = {}; + //Update the hidden static Primary Armor attributes with the repeating_armor attributes + _.each(armors, (armor) => { + const name = (armor.includes("name") || armor.includes("rating")) ? armor.split("repeating_")[1] : armor.split(`${arm}_`)[1]; + update[`${name}`] = v[`${armor}`]; + }); + + 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}`], (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"] = v[`${source}`]; break; + case /acid/.test(source) : update["acid"] = v[`${source}`]; break; + case /cold/.test(source) : update["cold"] = v[`${source}`]; break; + case /electrical/.test(source): update["electrical"] = v[`${source}`]; break; + case /fire/.test(source) : update["fire"] = v[`${source}`]; break; + case /radiation/.test(source) : update["radiation"] = v[`${source}`]; break; + default: console.log(`Source ${source} was invalid`);} + + setAttrs(update); + }; + }); + } else { + console.log("CHANGE NOT RELEVENT Primary Armor"); + }; +}); + + +//Weapon displays set into an Array +// 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 ''; + + // Apply the sign if needed + const disp = sign && val > 0 ? `+${val}` : val; + + // Apply label if needed + return label ? `${label} ${disp}` : disp; + } +} + +on("change:repeating_weapon", () => { + const source = "repeating_weapon_weapon"; + getAttrs([`${source}_range`, `${source}_type`, `${source}_reach`, `${source}_dv`, `${source}_ap`, `${source}_mode`, `${source}_rc`, `${source}_ammo`, `${source}_note`, `${source}_primary`], (v) => { + // Local builder putting the needed variables into scope for repeatingStringBuilder + const b = repeatingStringBuilder(v, `${source}_`); + // 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 = (() => { + // 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('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('dv', 'DV'), + b('ap', 'AP', true), + b('note') + ]; + default: return [ + b('type'), + 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(', '); + + let update = {}; + update[`${source}`] = `[${display}]`; + + // Finally wrap square brackets around the weapon display + setAttrs(update); + }); +}); + + +//Spell displays set into an Array + on("change:repeating_NPCspell", () => { + getAttrs(["repeating_NPCspell_combat_type", "repeating_NPCspell_type", "repeating_NPCspell_range", "repeating_NPCspell_damage", "repeating_NPCspell_duration", "repeating_NPCspell_drain", "repeating_NPCspell_note"], (v) =>{ + const com = v.repeating_NPCspell_combat_type; + const typ = `Type ${v.repeating_NPCspell_type}, `; + const ran = `${v.repeating_NPCspell_range}, `; + const dam = `Damage ${v.repeating_NPCspell_damage}, `; + const dur = `Duration ${v.repeating_NPCspell_duration}, `; + const not = `, ${v.repeating_NPCspell_note}`; + const dra = v.repeating_NPCspell_drain; + + const drain = (dra > 0) ? `F+${dra} ` : (dra < 0) ? `F${dra} ` :"F "; + const info = `[${typ}${ran}${dam}${dur}${drain}${not}]`; + + display = (com === "Direct, Force ") ? ` (Direct) ${info}` : + (com === "Indirect, Force ?{Force|}, AP -") ? ` (Indirect) ${info}` : `${info}`; + setAttrs({repeating_NPCspell_spell: display}); + }); + }); + +//Complex Form displays set into an Array + on("change:repeating_form", () => { + getAttrs(["repeating_form_form_duration", "repeating_form_form_target", "repeating_form_form_fade", "repeating_form_form_note", ], (v) =>{ + const tar = `Target ${v.repeating_form_form_target}, `; + const dur = `Duration ${v.repeating_form_form_duration}, `; + const not = `, ${v.repeating_form_form_note}` || ''; + const fad = (v.repeating_form_form_fade > 0) ? `L+${v.repeating_form_form_fade}` : + (v.repeating_form_form_fade < 0) ? `L${v.repeating_form_form_fade}` : "L"; + + setAttrs({ + repeating_form_form: ` [${tar}${dur}${fad}${not}]` + }); + }); + }); + +//IC displays are set into an Array + on("change:repeating_IC", () => { + getAttrs(["attack", "data_processing", "repeating_IC_IC_limit", "repeating_IC_IC_attribute", "repeating_IC_IC_matrix", "repeating_IC_IC_note"], (v) =>{ + const att = parseInt(v.attack) || 0; + const data = parseInt(v.data_processing) || 0; + const attr = v.repeating_IC_IC_attribute; + const mat = v.repeating_IC_IC_matrix; + const not = v.repeating_IC_IC_note; + + setAttrs({ + repeating_IC_IC: (v.repeating_IC_IC_limit === "@{data_processing}") ? ` ([${data}] vs. ${attr} + ${mat}, ${not})` : `([${att}] vs. ${attr} + ${mat}, ${not})` + }); + }); + }); + + ['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`, () => { + // Load attribute values + getAttrs([`repeating_vehicle_${attr}_base`, `repeating_vehicle_${attr}_modifier`, `repeating_vehicle_${attr}_temp`], (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; + + // Update the finalized total + setAttrs({ + [attr]: stat, + [`repeating_vehicle_display_${attr}`]: bon === 0 ? bas : `${bas} (${stat})` + }, {silent: true}); + }); + }); + }); diff --git a/Shadowrun4thEdition/src/js/versioning.js b/Shadowrun4thEdition/src/js/versioning.js new file mode 100644 index 0000000000..7dce0f3f79 --- /dev/null +++ b/Shadowrun4thEdition/src/js/versioning.js @@ -0,0 +1,14 @@ +const versioning = version => { + console.log(`%c Shadowrun 5th Edition versioning, ${version}`, "color: darkblue; font-weight:bold"); + + switch(true) { + case version < 1: + console.log(`%c Shadowrun 5th Edition versioning, ${version}`, "color: darkblue; font-weight:bold"); + //onepointthreefive() + //setAttrs({version: 1.35}, () => versioning(1.35)) + break; + default: + console.log(`%c Shadowrun 5th Edition is update to date. Version ${version}`, "color: green; font-weight:bold"); + } +}; + diff --git a/Shadowrun4thEdition/src/pug/_footer.pug b/Shadowrun4thEdition/src/pug/_footer.pug new file mode 100644 index 0000000000..1b752a46ae --- /dev/null +++ b/Shadowrun4thEdition/src/pug/_footer.pug @@ -0,0 +1,7 @@ +//- FOOTER +.footer + div + span(data-i18n="copyrightfooter") + span Version + span(name="attr_version") + img(alt='Emerald Productins, LLC' src=`${imageSource}/EProd_Emerald_Gloss.png`) \ No newline at end of file diff --git a/Shadowrun4thEdition/src/pug/_mixins.pug b/Shadowrun4thEdition/src/pug/_mixins.pug new file mode 100644 index 0000000000..b64e054746 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/_mixins.pug @@ -0,0 +1,186 @@ +//- ROLL BUTTON +mixin rollButton(header, base, rollFormula) + button(data-i18n=header name=`roll_${header}` type='roll' value!=rollBeginging+'{{header=^{'+header+'}}}{{base='+base+'}}{{dice=[[(('+rollFormula+')'+rollEnding) #{header} + +//- SKILL BUTTON +mixin skillButton(specialization, skillType) + - const rollName = specialization === true ? 'specialization' : 'skill'; + - const rollFormula = specialization === true ? '@{dicepool}+@{attribute}+2' : '@{dicepool}+@{attribute}'; + - const desc = specialization === true ? 'Spec: @{specialization}' : ''; + - const display = specialization === true ? 'attr_specialization' : skillType != 'active' ? 'attr_skill' : 'attr_display_skill'; + button.eclipse(name=`roll_${rollName}` type='roll' value!=rollBeginging+'{{header=@{skill}}}{{base=@{display_attribute}}}{{dice=[[(('+rollFormula+')'+rollEnding+'{{desc='+desc+'}}') + span(name=display) + +//- ROLLS +mixin displayRollButton(button, wounds) + - const rollTemplateBeginning = wounds ? rollBeginging : noWoundsRollBegining; + - const rollTemplateEnding = wounds ? rollEnding : noWoundsRollEnding; + button(name=`roll_${button['name']}` type='roll' value!=rollTemplateBeginning+'{{header='+button['header']+'}}{{base=^{base}}}{{dice=[[(('+button['rollFormula']+')'+rollTemplateEnding+button['desc']) + span(name='attr_'+button['display']) + +//- ROLLS +mixin spellRollButton(button) + button(name=`roll_${button['name']}` type='roll' value!=rollBeginging+'{{header='+button['header']+'}}{{base=^{magic}}}{{dice=[[(('+button['rollFormula']+')'+rollEnding+button['desc']) + span(name='attr_'+button['display']) + +//- PC WEAPON ROLL BUTTON +mixin weaponRollButton(button) + button(name=`roll_${button['name']}` type='roll' value!=`${rollBeginging}{{header=${button['header']}}}{{base=^{agility}}}`+'{{dice=[[(('+button['rollFormula']+')'+rollEnding+button['desc']) + span(name=`attr_${button['display']}`) + +//- SOAK ROLL +mixin soakRoll(header, base, rollForumla) + button(data-i18n=header name=`roll_${header}` type='roll' value!=noWoundsRollBegining+'{{header=^{'+header+'}}}{{base='+base+'}}{{dice=[[(('+rollForumla+')'+noWoundsRollEnding) #{name} + +//- SPRITE BUTTONS +mixin spriteButton(header, display) + button(name=`roll_${header}` type='roll' value!=rollBeginging+'{{header=@{'+header+'}}}{{base=^{level}}}{{dice=[[((@{level}+@{level})'+rollEnding) + span(name=display) + +//- NPC ATTRIBUTE ROLLS +mixin npcAttributeButton(attribute, rollFormula) + - const abbreviation = attribute.slice(0,1).toLowerCase(); + button(data-i18n=abbreviation name=`roll_${attribute}` type='roll' value!=rollBeginging+'{{header=^{'+attribute+'}}}{{base=^{base}}}{{dice=[[(('+rollFormula+')'+rollEnding) #{abbreviation} + +//- ATTRIBUTE SELECTS +mixin attributeSelect(selectedDefault) + each attribute in attributesArray + - const attributeName = attribute.toLowerCase(); + if attribute === selectedDefault + option(data-i18n=attributeName value='@{' + attributeName + '}' selected) #{attribute} + else + option(data-i18n=attributeName value='@{' + attributeName + '}') #{attribute} + +//- HOST & SPRITE NPCS +mixin hostSprite(object, attrName) + each val, key in object + - const base = '^{'+attrName+'}', rollForumla = '@{'+attrName+'}+@{'+val[0]+'}'; + +rollButton(val[0], base, rollForumla) + span(name='attr_'+val[0]) + label.settings(data-i18n-title=val[0] title=key) + input(name='attr_'+val[0] placeholder=val[1] title='@{'+val[0]+'}' type='number' value='') + +//- INITITAITVE ROLL +mixin initiativeRoll(name, attribute, translation) + button(data-i18n=translation name=name type='roll' value!=rollBeginging+'{{header=^{'+translation+'}}}{{base=^{base}}}{{dice=[[((@{'+attribute+'_mod})+@{wounds_toggle}+@{modifiers_toggle})+(@{'+attribute+'_dice})d6cf0 &{tracker}]]}}') #{name} + +//- NPC CONDITION MONITOR +mixin conditionMonitor(conditionTypes) + each val in conditionTypes + label.settings(data-i18n-title=`${val}bonus` title=`${val} bonus`) + input(name=`attr_${val}_modifier` placeholder='0' title=`@{${val}_modifier}` type='number' value='0') + if val === 'physical' + span.settings / + span.settings.tiny-span() = + each val in conditionTypes + span(name=`attr_${val}_max` title=`@{${val}_max}`) + if val === 'physical' + span / + +//- PC FADE & DRAIN ROLLS +mixin fadeDrainSection(fadeOrDrain, adept) + - const defaultFirstAttribute = fadeOrDrain === 'fade' ? 'Resonance' : adept ? 'Body' : 'Logic'; + - const nameFadeorDrain = adept ? 'drain' : fadeOrDrain; + +soakRoll(nameFadeorDrain, '^{base}', `@{${nameFadeorDrain}_attribute_1}+@{${nameFadeorDrain}_attribute_2}+@{${nameFadeorDrain}_modifier}`) + select.attribute-select(name=`attr_${nameFadeorDrain}_attribute_1` title=`@{${nameFadeorDrain}_attribute_1}`) + +attributeSelect(defaultFirstAttribute) + span + + select.attribute-select(name=`attr_${nameFadeorDrain}_attribute_2` title=`@{${nameFadeorDrain}_attribute_2}`) + +attributeSelect('Willpower') + h3(data-i18n='modifier') modifier + label(data-i18n-title='modifier' title='modifier') + input(name=`attr_${nameFadeorDrain}_modifier` title=`@{${nameFadeorDrain}_modifier}` type='number' value=0) + +//- PC SPELLS AND PREPARATIONS +mixin pcSpells(type) + - const rollInfoObject = type === 'preps' ? pcAlchemySpellObject : pcSorcerySpellObject; + - const repeatingSection = `@{repeating_${type}`+'_${x}'; + + .rows.repeating-container + fieldset(class=`repeating_${type}`) + input(name='attr_dicepool' type='hidden' value='0') + button(name=`roll_${type}}` type='roll' value!=rollBeginging+'{{header=@{name}}}{{base=^{magic}}}{{dice=[[((@{skill}+@{dicepool}+@{magic})'+rollEnding+'{{desc=@{combat_type} ?{Force|}}}{{drain=[[ceil(?{Force|}/2)+(@{drain})]]}}') + span(name='attr_name') + each val in ['type', 'range', 'duration', 'drain'] + span.center(name='attr_'+val) + input.collapse-flag(name='attr_display_flag' type='checkbox' checked) + span.pictos i + input.settings-flag(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + .collapse + span(name='attr_notes') + .settings + each val, key in pcCoreSpellObject + - const translationKey = key.toLowerCase(); + - const attrName = key.toLowerCase(); + if val['type'] === 'select' + select(name=`attr_${attrName}` title=`${repeatingSection}_${attrName}}` value=val['default']) + each type in val['array'] + - const i18n = type.toLowerCase(); + if val['default'] === i18n + option(data-i18n=i18n value=type 'selected') #{i18n} + else + option(data-i18n=i18n value=type) #{i18n} + else + label(data-i18n-title=translationKey title=key) + input(name=`attr_${attrName}` placeholder=val['placeholder'] title=`${repeatingSection}_${attrName}}` type=val['type']) + .row + each val, key in pcCatagorySpellObject + - const translationKey = key.toLowerCase().replace(' ', ''); + - const attrName = key === 'Combat' ? 'combat_type' : key.toLowerCase(); + h3(data-i18n=translationKey) #{key} + if val['type'] === 'select' + select(name=`attr_${attrName}` title=`${repeatingSection}_${attrName}}` value=val['default']) + each type in val['array'] + - const i18n = key === 'Combat' ? type.split(' ')[0].replace(',','').toLowerCase() : type.toLowerCase(); + if val['default'] === i18n + option(data-i18n=i18n value=type 'selected') #{i18n} + else if i18n === 'force' + option(value=type 'selected') + else + option(data-i18n=i18n value=type) #{i18n} + else + label(data-i18n-title=translationKey title=key) + input(name=`attr_${attrName}` placeholder=val['placeholder'] title=`${repeatingSection}_${attrName}}` type=val['type']) + .row + each val, key in rollInfoObject + - const translationKey = key.toLowerCase().replace(' ', ''); + - const attrName = key === 'modifier dice' ? 'dicepool_modifier' : key.includes('Group') ? key.split(' ')[0].toLowerCase() : key === 'Notes' ? 'note' : key.toLowerCase(); + h3(data-i18n=translationKey) #{key} + if val['type'] === 'select' + select(name=`attr_${attrName}` title=`${repeatingSection}_${attrName}}` value=val['default']) + each skill in val['array'] + - const i18n = skill.includes('Group') ? skill.toLowerCase().replace(' ', '') : skill.toLowerCase(); + - const attrName = skill.includes('Group') ? skill.toLowerCase().split(' ')[0] : skill.toLowerCase(); + if val['default'] === `@{${attrName}}` + option(data-i18n=i18n value=`@{${attrName}}` 'selected') #{i18n} + else + option(data-i18n=i18n value=`@{${attrName}}`) #{i18n} + else + label(data-i18n-title=translationKey title=key) + input(name=`attr_${attrName}` placeholder=val['placeholder'] title=`${repeatingSection}_${attrName}}` type=val['type'] value=val['default']) + h3(data-i18n='notes') notes + label(data-i18n-title='notes' title='notes') + textarea(name='attr_notes' placeholder='Notes' title=`${repeatingSection}_notes}` type='text' value='') + + +//- PC ARMS +mixin h2Headers(headerObject) + .row-long.headers + each val, key in headerObject + h2(data-i18n=`${key.toLowerCase()}`) #{key} + +//- REPEATING SECTIONS FLAGS +mixin repeatingSectionFlags() + input.collapse-flag(name='attr_display_flag' type='checkbox') + span.pictos i + input.settings-flag(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + .collapse + span(name='attr_notes') + +//- REPEATING SECTIONS NOTES +mixin repeatingSectionNotes(section) + h3(data-i18n='notes') notes + label(data-i18n-title='notes' title='notes') + textarea(name='attr_notes' placeholder='Notes' title=`@{repeating_${section}_`+'${x}_notes}' type='text' value='') \ No newline at end of file diff --git a/Shadowrun4thEdition/src/pug/_npc.pug b/Shadowrun4thEdition/src/pug/_npc.pug new file mode 100644 index 0000000000..6e831d51a2 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/_npc.pug @@ -0,0 +1,340 @@ +.npc + .tabs + img(alt='Shadowrun black and metallic logo' src=`${imageSource}/ShadowrunLogo.png`) + h2(data-i18n-title='/w GM') /w GM + label.switch(data-i18n-title='whisper rolls to gm' title='whisper rolls to gm') + input.whisper-toggle(name='attr_gm_toggle' type='checkbox' value='/w gm') + span.slider + each val, key in {'wounds': '@{wounds}', 'modifiers':'?{Modifiers +/-|0}', 'edge':'@{edge}'} + h2(data-i18n-title=key) #{key} + label.switch(data-i18n-title=key title=key) + input.whisper-toggle(name='attr_'+key+'_toggle' type='checkbox' value=val) + span.slider + button(name='d6' title='Roll D6s' type='roll' value='@{gm_toggle} &{template:rolls}{{header=^{d6}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5)]]}}') L + select(name='attr_sheet_type' title='Sheet Type' value='pc') + each val in sheetTypes + - const attrName = val.toLowerCase(); + if val === 'PC' + option(value=attrName data-i18n=attrName selected) #{val} + else + option(value=attrName data-i18n=attrName) #{val} + input(name='attr_stats_toggle' type='checkbox' value='settings' checked) + span.pictos y + input(name='attr_stats_toggle' type='hidden' value='settings') + + //- ATTRIBUTES + .grunt.attribute + each val in coreAttributeArray + - const attrName = val.toLowerCase(); + +npcAttributeButton(attrName, '@{'+attrName+'}+@{attribute_roll}') + span(name='attr_display_'+attrName) + label.settings(data-i18n-title=val title=val) + input(name=`attr_${attrName}`+'_base' placeholder='3' title='@{'+attrName+'_base}' type='number' value='3') + label.settings(data-i18n-title='modifier' title='modifier') + input(name=`attr_${attrName}`+'_modifier' placeholder='+' title='@{'+attrName+'_modifier}' type='number' value='') + //- EDGE + +npcAttributeButton('edge', '@{edge}+@{attribute_roll}') + span(name='attr_edge') + label.settings(data-i18n-title='edge' title='edge') + input(name='attr_edge' placeholder='3' title='@{edge}' type='number' value='3') + //- ESSENCE + h1(data-i18n='ess') ess + span(name='attr_essence') + label.settings(data-i18n-title='essence' title='essence') + input(name='attr_essence' placeholder='6' title='@{essence}' type='number' value='6') + each val, key in {'magic': 'magic', 'force': 'magic', 'resonance': 'resonance'} + - const abbreviation = key.slice(0,1); + h1(class='hide-'+val data-i18n=abbreviation) #{abbreviation} + span(class='hide-'+val name='attr_'+key) + label.settings(class='hide-'+val data-i18n-title=key title=key) + input(name='attr_'+key placeholder='6' title='@{'+key+'}' type='number' value='6') + .host.attribute + +hostSprite(hostObject, 'host_rating') + .vehicle.attribute + each val, key in {'Hand': ['handling', 'hand'], 'Hand (Off)': ['handling_offroad', 'handoff'], 'Speed': ['speed', 'speed'], 'Speed (Off)': ['speed_offroad', 'speedoff'], 'Accel': ['acceleration', 'accel'], 'Body': ['body', 'body'], 'Pilot': ['pilot', 'pilot'], 'Sensor': ['sensor', 'sensor'], 'Seat': ['seating', 'seat']} + if key === 'Pilot' + +rollButton(val[1], '^{pilot}', '@{pilot}+@{pilot}') + else + h1(data-i18n=val[1]) #{key} + span(name='attr_'+val[0]) + label.settings(data-i18n-title=val[1] title=key) + input(name='attr_'+val[0] placeholder='3' title='@{'+val[0]+'}' type='number' value='') + .sprite.attribute + +hostSprite(spriteObject, 'level') + + //-BODY + .mid.body + .column + h1.settings(data-i18n='bonuses') Bonuses + //- PROFESSIONAL RATINGS + input(name='attr_pr' type='hidden' value='') + .rows.grunt + h2(data-i18n='pr') Professional Rating + span(name='attr_pr' style='margin-left: 2%;') + label.settings(data-i18n-title='pr' title='Professional Rating') + input(name='attr_pr' title='@{pr}' type='number') + + //- INITAITIVE + each val, key in {'Initiative': ['initiative', 'initiative', 'grunt'], 'Astral Initiative': ['astral', 'astralinitiative', 'grunt hide-magic'], 'Matrix Initiative': ['matrix', 'matrixinitiative', 'grunt vehicle sprite host']} + .rows(class=val[2]) + +initiativeRoll(key, val[0], val[1]) + label.settings(data-i18n-title='modifier' title='modifier') + input(name='attr_'+val[0]+'_mod_modifier' placeholder='0' title='@{'+val[0]+'_modifier}' type='number' value='0') + span.settings + + label.settings(data-i18n-title='modifierdice' title='Modifier Dice') + input(min='0' max='4' name='attr_'+val[0]+'_dice_modifier' placeholder='0' title='@{'+val[0]+'_dice_modifier}' type='number' value='0') + span.settings(data-i18n='d6') d6 + span.settings.tiny-span() = + span(name='attr_display_'+val[0]+'_mod') + span.tiny-span() + + span(name='attr_'+val[0]+'_dice') + span.tiny-span(data-i18n='d6') d6 + + //- MOVEMENT + .rows.grunt + h2(data-i18n='movement') Movement + - const movementObject = {'walk': ' / ', 'run': ' / + ', 'movement_mod': ''} + each val, key in movementObject + - const translationKey = key.includes('mod') ? 'movement' : key; + - const placeholderValue = key.includes('movement') ? '2' : '0'; + label.settings(data-i18n-title=translationKey + ' modifier' title=translationKey + ' modifier') + input(name='attr_'+key+'_modifier' placeholder=placeholderValue title='@{'+key+'_modifier}' type='number' value=placeholderValue) + span.settings #{val} + span.settings.tiny-span() = + each val, key in movementObject + span(name='attr_'+key title='@{'+key+'}') + span #{val} + + //- CONDITION MONITORS + .rows.grunt + button(data-i18n='conditionmonitorps' name='act_cond_reset' type='action') Condition Monitor (P/S) + +conditionMonitor(['physical', 'stun']) + .rows.vehicle + button(data-i18n='conditionmonitorpm' name='act_cond_reset' type='action') Condition Monitor (P/M) + +conditionMonitor(['physical', 'matrix']) + .rows.host.sprite + button(data-i18n='conditionmonitorm' name='act_cond_reset' type='action') Condition Monitor (M) + span(name='attr_matrix_max') + + //- PAIN TOLERANCE + .grunt.pain-tolerance + .rows.settings + h2(data-i18n='high pain tolerance') + label(data-i18n-title="high pain tolerance") + input(type="number" name="attr_high_pain_tolerance" min="0" value="" placeholder="#" title="@{high_pain_tolerance}") + .rows.settings + h2(data-i18n='low pain tolerance') + label(data-i18n-title="low pain tolerance") + input(type="checkbox" name="attr_low_pain_tolerance" value="2" title="@{low_pain_tolerance}") + .rows.settings + h2(data-i18n='damage compensators') + label(data-i18n-title="damage compensators physical") + input(type="number" min="0" name="attr_damage_compensators_physical" value="" placeholder="1" title="@{damage_compensators_physical}") + span / + label(data-i18n-title="damage compensators stun") + input(type="number" min="0" name="attr_damage_compensators_stun" value="" placeholder="2" title="@{damage_compensators_stun}") + + .rows + h2(data-i18n='soak') soak + label.settings(data-i18n-title='soak') + input(name=`attr_soak_modifier` placeholder='0' title=`@{soak_modifier}` type='number' value='0') + span.settings.tiny-span() = + span(name=`attr_soak_modifier`) + .rows + +rollButton('defense', 'base', '@{defense}') + label.settings(data-i18n-title='defense' title='defense') + input(name='attr_defense_modifier' placeholder='9' title='@{defense_modifier}' type='number' value='0') + + //- MODIFIERS + .column + h1.settings(data-i18n='modifier') Modifier + each val in ['ballistic', 'impact'] + - const attrName = val.toLowerCase(); + .rows + +rollButton(attrName, 'base', `@{${attrName}}+@{soak}`) + label.settings(data-i18n-title=val) + input(name=`attr_${val}` placeholder='9' title=`@{${attrName}}` type='number' value='0') + each val in armorProtectionsInputs + .rows + - const attrName = val.toLowerCase(); + +rollButton(`${val} Protection`, 'base', `(@{impact}/2)+@{${val}_modifier}+@{soak}`) + label.protections(data-i18n-title=val) + input(name=`attr_${attrName}_modifier` placeholder='0' title=`@{${armorRepeatingSection}_${attrName}_modifier}` type='number' value='0') + + + ///- OPTIONS + .column + .rows + h1.settings(data-i18n='options') Options + .rows.grunt + each val, key in {'Mundane': ['mundane', 'mundane'], 'Awakened': ['awakened', 'magic'], 'Emerged': ['emerged', 'resonance']} + label.settings(data-i18n-title=val[0] title=val[0]) + input.character-type(name='attr_flag_special' title='@{flag_special}' type='radio' value=val[1]) + h2(data-i18n=val[0]) key + .rows.vehicle + label.settings(data-i18n-title=drone title='Drone') + input.character-type(name='attr_flag_drone' title='@{flag_drone}' type='checkbox' value='drone') + h2(data-i18n=drone) Drone + + .end.body + //- TEXTBOXES + each val, key in {'Qualities': 'grunt', 'Augmentations': 'grunt', 'Gear': 'grunt vehicle', 'Programs': 'vehicle', 'Modifications': 'vehicle', 'Powers': 'grunt hide-magic', 'Weakness': 'grunt hide-magic'} + - const attrName = key === 'Qualities' ? 'quality' : key.toLowerCase(); + input(name=`attr_${attrName}` type='hidden' value='') + .textrow(class=val) + h1(data-i18n=attrName) key + span(name=`attr_${attrName}`) + label.settings(data-i18n-title=attrName title=key) + textarea(name=`attr_${attrName}` placeholder=key title='@{'+`${attrName}}`) + + each val, key in {'Initiate': ['grunt hide-magic', 'metamagic'],'Submersion': ['grunt hide-resonance', 'echos']} + - const attrName = key.toLowerCase(); + .textrow(class=val[0]) + input(name=`attr_${attrName}` type='hidden' value='') + h1(data-i18n=attrName) key + span(name=`attr_${attrName}`) + label.settings(data-i18n-title=attrName title=key) + input(name=`attr_${attrName}` placeholder=attrName type='number' title='@{'+`${attrName}}`) + br + span(name='attr_'+val[1]) + label.settings(data-i18n-title=val[1] title=val[1]) + textarea(name='attr_'+val[1] placeholder=val[1] title='@{'+val[1]+'}') + + //- SKILLS + each val, key in {'active': ['skills', 'Agility', 'Physical'],'knowledge':['knowledgeskills', 'Logic', 'Mental'], 'language': ['languageskills', 'Charisma', 'Social']} + .rows.grunt.repeating.inline-repeating + h1(data-i18n=val[0]) #{val[0]} + fieldset(class=`repeating_${key}`) + + input(name='attr_display_rating' type='hidden') + input(name='attr_specialization' type='hidden' value='') + input(name='attr_display_attribute' type='hidden' value=val[1]) + input(name='attr_dicepool' type='hidden' value='0') + + if key === 'active' + input(name='attr_display_skill' type='hidden' value='') + + input.toggle(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + //- SKILL BUTTON + +skillButton(false, key) + //- SPECILIZATION BUTTON + +skillButton(true) + span(name='attr_display_rating') + .settings + h2(data-i18n='skill') Skill + h2(data-i18n='rating') Rating + h2(data-i18n='ratingmodifier') Rating Modifier + h2(data-i18n='attribute') Attribute + if key === 'active' + select.skill-select(name='attr_skill' title=`@{repeating_${key}`+'_${x}_skill}' value='Close Combat Group') + include ../html/skillselect.html + else + label(data-i18n-title='skill' title='skill') + input(name='attr_skill' placeholder=key title=`@{repeating_${key}`+'_${x}_skill}' type='text' ) + label(data-i18n-title='rating' title='rating') + input(name='attr_rating' min='0' placeholder='0' title=`@{repeating_${key}`+'_${x}_rating}' type='number') + label(data-i18n-title='ratingmodifier' title='Rating Modifier') + input(name='attr_rating_modifier' min='0' placeholder='0' title=`@{repeating_${key}`+'_${x}_rating_modifier}' type='number' ) + select.attribute-select(name='attr_attribute' title=`@{repeating_${key}`+'_${x}_attribute}') + +attributeSelect(val[1]) + h2.full-row(data-i18n='specialization') specialization + label.full-row(data-i18n-title='specialization' title='specialization') + input(name='attr_specialization' placeholder='Specalizations' title=`@{repeating_${key}`+'_${x}_specialization}' type='text') + + //- WEAPONS + .rows.grunt.vehicle.repeating.weapons + h1(data-i18n='weapons') Weapons + fieldset(class='repeating_weapon') + input(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + input(name='attr_weapon' type='hidden' value='') + span(name='attr_weapon_dice') + +displayRollButton(weaponButton, true) + span(name='attr_weapon') + input(name='attr_weapon_range' type='hidden' value='range') + .settings + each val, key in npcWeaponsObject + - const translationKey = key.toLowerCase(); + if (key !== 'Notes') + h2(data-i18n=translationKey) #{key} + each val, key in npcWeaponsObject + - const translationKey = key.toLowerCase(); + - const attrName = key === 'Dam' ? 'dv' : key === 'Modes' ? 'mode' : key === 'Notes' ? 'note' : key.toLowerCase(); + - const defaultValue = key === 'Reach' ? 0 : ''; + if (key === 'Range') + select(name='attr_weapon_'+attrName title='@{repeating_weapon_${x}_weapon_'+`${attrName}}` value=val['default']) + option(data-i18n='range' value='range' selected) range + option(data-i18n='melee' value='melee') melee + else + label(data-i18n-title=translationKey title=key) + input(name='attr_weapon_'+attrName placeholder=val['placeholder'] title='@{repeating_weapon_${x}_weapon_'+`${attrName}}` type=val['type'] value=defaultValue) + span (c) + + //- SPELLS + .rows.grunt.repeating.spells.hide-magic + h1(data-i18n='spells') Spells + fieldset(class='repeating_NPCspell') + input(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + input(name='attr_spell' type='hidden' value='') + span(name='attr_dice') + +displayRollButton(npcSpellButton, true) + span(name='attr_spell') + .settings + input(name='attr_category' type='hidden' value='') + each val, key in npcSpellObject + - const translationKey = key.toLowerCase(); + if (key !== 'Notes') + h2(data-i18n=translationKey) #{key} + each val, key in npcSpellObject + - const translationKey = key.toLowerCase(); + - const attrName = key === 'Dam' ? 'damage' : key === 'Combat' ? 'combat_type' : key === 'Notes' ? 'note' : key.toLowerCase(); + if val['type'] === 'select' + select(name=`attr_${attrName}` title='@{repeating_NPCspell_${x}_'+`${attrName}}` value=val['default']) + each type in val['array'] + - const i18n = key === 'Combat' ? type.split(' ')[0].replace(',','').toLowerCase() : type.toLowerCase(); + - const value = key === 'Type' ? type.slice(0,1) : type; + if val['default'] === i18n + option(data-i18n=i18n value=value 'selected') #{i18n} + else if i18n === 'force' + option(value=value 'selected') + else + option(data-i18n=i18n value=value) #{i18n} + else + label(data-i18n-title=translationKey title=key) + input(name=`attr_${attrName}` placeholder=val['placeholder'] title='@{repeating_NPCspell_${x}_'+`${attrName}}` type=val['type']) + + //- COMPLEX FORMS + .rows.grunt.repeating.forms.hide-resonance + h1(data-i18n='complex form') Complex Forms + fieldset(class='repeating_form') + input(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + input(name='attr_form' type='hidden' value='') + span(name='attr_form_dice') + +displayRollButton(formButton, true) + span(name='attr_form') + .settings + each val, key in npcComplexFormsObject + - const translationKey = key.toLowerCase(); + if (key !== 'Notes') + h2(data-i18n=translationKey) #{key} + each val, key in npcComplexFormsObject + - const translationKey = key.toLowerCase(); + - const attrName = key === 'Notes' ? 'form_note' : 'form_' + key.toLowerCase(); + if val['type'] === 'select' + select(name=`attr_${attrName}` title='@{repeating_form_${x}_'+`${attrName}}` value=val['default']) + each type in val['array'] + - const i18n = type.toLowerCase(); + - const value = type; + if val['default'] === i18n + option(data-i18n=i18n value=value 'selected') #{i18n} + else + option(data-i18n=i18n value=value) #{i18n} + else + label(data-i18n-title=translationKey title=key) + input(name=`attr_${attrName}` placeholder=val['placeholder'] title='@{repeating_form_${x}_'+`${attrName}}` type=val['type']) + + + diff --git a/Shadowrun4thEdition/src/pug/_pc.pug b/Shadowrun4thEdition/src/pug/_pc.pug new file mode 100644 index 0000000000..6573a07f67 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/_pc.pug @@ -0,0 +1,36 @@ +.pc + + //- TABS + include tabs/_tabs.pug + + input.options_toggle(name='attr_tab' type='hidden' value='options') + + //- STATIC TAB + include tabs/_static.pug + + //- CORE TAB + include tabs/_core.pug + + //- ARMS TAB + include tabs/_arms.pug + + //- AUGS TAB + include tabs/_augs.pug + + //- GEAR TAB + include tabs/_gear.pug + + //- MAGIC TAB + include tabs/_magic.pug + + //- MATRIX TAB + include tabs/_matrix.pug + + //- SOCIAL TAB + include tabs/_social.pug + + //- VEHICLE TAB + include ../html/vehicle.html + + //- OPTIONS TAB + include ../html/options.html diff --git a/Shadowrun4thEdition/src/pug/_rolltemplates.pug b/Shadowrun4thEdition/src/pug/_rolltemplates.pug new file mode 100644 index 0000000000..e1607a95c0 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/_rolltemplates.pug @@ -0,0 +1,54 @@ +.rolltemplates + rolltemplate.sheet-rolltemplate-rolls + .sheet-template-container + //- Display a header on the template - + .sheet-template-header + | {{#header}} + h1 {{header}} + | {{/header}} + | {{#base}} + span {{base}} + | {{/base}} + | {{#rollLess() wound 0}} + span ♦ + span(data-i18n="wounds") + | {{/rollLess() wound 0}} + | {{#rollLess() mod 0}} + span ♦ + span(data-i18n="modifier") + | {{/rollLess() mod 0}} + | {{#rollGreater() mod 0}} + span ♦ + span(data-i18n="modifier") + | {{/rollGreater() mod 0}} + | {{#rollGreater() edge 0}} + span ♦ + span(data-i18n="edge") + | {{/rollGreater() edge 0}} + //- Display the dice roll in the template - + .sheet-template-body + | {{#dice}} + .sheet-template-row + span.inlinerollresult {{dice}} + | {{/dice}} + //- Display a description. This is great for text included with a roll - + | {{#desc}} + .sheet-template-row + span.sheet-template-desc + | {{desc}} + | {{#rollGreater() rea 0}} + span , + span(data-i18n="reach") + | {{rea}} + | {{/rollGreater() rea 0}} + | {{#rollGreater() drain 1}} + span , + span(data-i18n="drain") + | {{drain}} + | {{/rollGreater() drain 1}} + | {{#rollLess() drain 1}} + span , + span(data-i18n="drain-2") + | {{drain}} + | {{/rollLess() drain 1}} + | {{/desc}} diff --git a/Shadowrun4thEdition/src/pug/_variables.pug b/Shadowrun4thEdition/src/pug/_variables.pug new file mode 100644 index 0000000000..194e437414 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/_variables.pug @@ -0,0 +1,76 @@ +- const coreAttributeArray = ['Body', 'Agility', 'Reaction', 'Strength', 'Charisma', 'Intuition', 'Logic', 'Willpower']; +- const attributesArray = ['Body', 'Agility', 'Reaction', 'Strength', 'Charisma', 'Intuition', 'Logic', 'Willpower', 'Magic', 'Resonance']; + +//- SPELL ARRAY +- const spellCatagories = ['Combat', 'Detection', 'Health', 'Illusion', 'Manipulation']; +- const spellTypes = ['Mana', 'Physical']; +- const spellRanges = ['LOS', 'LOS (A)', 'Special', 'T', 'T (A)']; +- const spellDurations = ['Instant', 'Permanent', 'Special', 'Sustained']; +- const spellCombatTypes = ['Force ', 'Direct, Force ', 'Indirect, Force ?{Force|}, AP -']; + +//- COMPLEX FORM ARRAY +- const formTargets = ['device', 'file', 'host', 'ic', 'persona', 'self', 'sprite']; +- const formDurations = ['extended', 'instant', 'permanent', 'other', 'sustained']; +- const complexFormAttributes = ['complex form', 'target', 'duration','fade']; + +//- AUGEMENATATIONS ARRAY +- const augementations = ['Augmentations', 'Rating', 'Essence']; + +//- WEAPON ARRAY +- const weaponModes = ['BF', 'FA', 'SA', 'SS', 'Other']; + +//- SHEET TYPES +//- - const sheetTypes = ['Grunt', 'Host', 'Sprite', 'Vehicle', 'PC']; +- const sheetTypes = ['Grunt', 'PC']; + +//- TABS +- const tabs = ['core', 'arms', 'augs', 'gear', 'magic', 'matrix', 'social', 'vehicle']; + +//- PROTECTIONS +- const armorProcAbbrev = ['Acid', 'Cold', 'Elec', 'Fire', 'Radi', 'Laser', 'Gause']; +- const armorProtectionsButtons = ['Acid', 'Cold', 'Electrical', 'Fire', 'Falling']; +- const armorProtectionsInputs = ['Acid', 'Cold', 'Electrical', 'Fire', 'Radiation']; +- const armorTypes = ['Ballistic', 'Impact'] + +//- LOOP OBJECTS +- const hostObject = {'Host Rating': ['host_rating', '5'], 'Attack': ['attack', '5'], 'Sleaze': ['sleaze', '6'], 'Data Processing': ['data_processing', '7'], 'Firewall': ['firewall', '8']}; +- const spriteObject = {'Level': ['level', '5'], 'Attack': ['attack', '5'], 'Sleaze': ['sleaze', '6'], 'Data Processing': ['data_processing', '7'], 'Firewall': ['firewall', '8']}; +- const npcWeaponsObject = {'Range': {'type': 'select', 'default': 'range'}, 'Dice': {'type': 'number', 'placeholder': '18'},'Name': {'type': 'text', 'placeholder': 'Ares Predator'}, 'Type': {'type': 'text', 'placeholder': 'Heavy Pistol'}, 'Reach': {'type': 'number', 'placeholder': '0'}, 'Dam': {'type': 'text', 'placeholder': '9P'}, 'AP': {'type': 'number', 'placeholder': '-2'},'Modes': {'type': 'text', 'placeholder': 'SA/BF/FA'},'Recoil': {'type': 'text', 'placeholder': '+2'},'Ammo': {'type': 'number', 'placeholder': '15'}, 'Notes': {'type': 'text', 'placeholder': 'w/ 3 clips of explosive rounds'}}; +- const npcSpellObject = {'Category': {'type': 'select', 'default': 'combat', 'array': spellCatagories}, 'Dice': {'type': 'number', 'placeholder': '18'}, 'Name': {'type': 'text', 'placeholder': 'Fireball'}, 'Type': {'type': 'select', 'default': 'P', 'array': spellTypes}, 'Range': {'type': 'select', 'default': 'LOS', 'array':spellRanges}, 'Duration': {'type': 'select', 'default': 'Instant', 'array':spellDurations}, 'Drain': {'type': 'number', 'placeholder': '-1'}, 'Combat': {'type': 'select', 'default': 'Force', 'array':spellCombatTypes}, 'Dam': {'type': 'text', 'placeholder': 'P'}, 'Notes': {'type': 'text', 'placeholder': 'may start fires'}}; + +- const npcComplexFormsObject = {'Dice': {'type': 'number', 'placeholder': '18'}, 'Name': {'type': 'text', 'placeholder': 'Editor'}, 'Target': {'type': 'select', 'default': 'device', 'array': formTargets}, 'Duration': {'type': 'text', 'placeholder': 'Permanent'}, 'Fade': {'type': 'number', 'placeholder': '+2'}, 'Notes': {'type': 'text', 'placeholder': 'edit files'}}; +- const icObject = {'Name': {'type': 'text', 'placeholder': 'Black'}, 'IC Limit': {'type': 'select', 'default': 'attack', 'array':['Attack', 'Data Processing']}, 'Defense Attribute': {'type': 'select', 'default': 'willpower', 'array':['Willpower', 'Intuition', 'Logic']}, 'Defense Matrix Attribute': {'type': 'select', 'default': 'firewall', 'array':['Attack', 'Sleaze', 'Data Processing', 'Firewall']}, 'Notes': {'type': 'text', 'placeholder': 'deploy the ic'}}; + +//- PC MAGIC +- const pcCoreSpellObject = {'Name': {'type': 'text', 'placeholder': 'Fireball'}, 'Type': {'type': 'select', 'default': 'physical', 'array': spellTypes}, 'Range': {'type': 'select', 'default': 'los', 'array':spellRanges}, 'Duration': {'type': 'select', 'default': 'instant', 'array':spellDurations}, 'Drain': {'type': 'number', 'placeholder': '-1'}}; +- const pcCatagorySpellObject = {'Category': {'type': 'select', 'default': 'combat', 'array': spellCatagories}, 'Combat': {'type': 'select', 'default': 'force', 'array':spellCombatTypes}, 'Damage': {'type': 'text', 'placeholder': 'P'}}; +- const pcAlchemySpellObject = {'Skill': {'type': 'select', 'default': '@{enchanting}', 'array':['Enchanting']}, 'Specialization': {'type': 'checkbox', 'default': '2'}, 'modifier dice': {'type': 'number', 'placeholder': '0', 'default': '0'}}; +- const pcSorcerySpellObject = {'Skill': {'type': 'select', 'default': '@{spellcasting}', 'array':['Sorcery Group', 'Spellcasting']}, 'Specialization': {'type': 'checkbox', 'default': '2'}, 'modifier dice': {'type': 'number', 'placeholder': '0', 'default': '0'}}; + +//- PC MATRIX +- const pcComplexFormButton = {'name': 'complex_form', 'header': '@{name}', 'rollFormula': '@{skill}+@{dicepool}+@{resonance}', 'desc': '{{desc=Level ?{Level|}, Fade [[ceil(?{Level|}/2)+(@{fade})]]}}', 'display': 'name'}; + +//- PC WEAPONS +- const pcRangeWeaponObject = {'Weapon': {'type': 'text', 'placeholder': 'Ares Predator'}, 'Dam': {'type': 'text', 'placeholder': '9P'}, 'AP': {'type': 'text', 'placeholder': '-2'}, 'Mode': {'type': 'select', 'default': 'SS', 'array':weaponModes}, 'Recoil': {'type': 'number', 'placeholder': '+2'},'Ammo': {'type': 'number', 'placeholder': '15'}}; +- const pcMeleeWeaponObject = {'Weapon': {'type': 'text', 'placeholder': 'Katana'}, 'Dam': {'type': 'text', 'placeholder': '5P'}, 'AP': {'type': 'text', 'placeholder': '-3'}, 'Reach': {'type': 'number', 'placeholder': '1'}}; + +//- Weapons +- const weaponButton = {'name': 'weapon', 'header': '@{weapon_type}', 'rollFormula': '@{weapon_dice}', 'desc': '{{desc= DV @{weapon_dv}, AP @{weapon_ap}}}{{rea=[[@{weapon_reach}]]}}', 'display': 'weapon_name'}; +- const pcRangeWeaponButton = {'name': 'range_weapon', 'header': '@{weapon}', 'rollFormula': '@{skill}+@{dicepool}+@{agility}', 'desc': '{{desc=@{mode}, DV @{damage}, AP @{ap}}}', 'display': 'weapon'}; +- const pcMeleeWeaponButton = {'name': 'melee_weapon', 'header': '@{weapon}', 'rollFormula': '@{skill}+@{dicepool}+@{agility}', 'desc': '{{desc=DV @{damage}, AP @{ap}, Reach @{reach}}}', 'display': 'weapon'}; + + //- MAGIC +- const npcSpellButton = {'name': 'spell', 'header': '@{name}', 'rollFormula': '@{dice}', 'desc': '{{desc=@{category}, ^{force} ?{Force|}, Drain [[ceil(?{Force|}/2)+(@{drain})]]}}', 'display': 'name'}; +- const pcSpellButton = {'name': 'spell', 'header': '@{name}', 'rollFormula': '@{skill}+@{dicepool}+@{magic}', 'desc': '{{desc=@{combat_type}?{Force|}}}{{drain=[[?{Force|}+(@{drain})]]}}', 'display': 'name'}; +- const prepButton = {'name': 'preparation', 'header': '@{name}', 'rollFormula': '@{force}+@{potency}', 'display': 'name'}; +- const pcRitualButton = {'name': 'ritual', 'header': '@{name}', 'rollFormula': '@{skill}+@{dicepool}+@{magic}', 'desc': '{{desc=Force ?{Force|}}}', 'display': 'name'}; + + //- MATRIX +- const formButton = {'name': 'complex form', 'header': 'f@{orm_name}', 'rollFormula': '@{form_dice}', 'desc': '{{desc=?{Level|}, Fade [[?{Level|}+(@{form_fade})]]}}', 'display': 'form_name'}; +- const icButton = {'name': 'IC', 'header': 'Intrusion Countermeasures', 'rollFormula': '@{IC_attack}', 'desc': '', 'display': 'IC_name'}; + +//- DIE ROLL VARIABLES +- const rollBeginging = '@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{wound=[[@{wounds_toggle}]]}}{{edge=[[@{edge_toggle}]]}}'; +- const rollEnding = '+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}'; +- const noWoundsRollBegining = '@{gm_toggle} &{template:rolls}{{mod=[[@{modifiers_toggle}]]}}{{edge=[[@{edge_toggle}]]}}'; +- const noWoundsRollEnding = '+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}'; diff --git a/Shadowrun4thEdition/src/pug/tabs/_arms.pug b/Shadowrun4thEdition/src/pug/tabs/_arms.pug new file mode 100644 index 0000000000..aa2c4ae720 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_arms.pug @@ -0,0 +1,179 @@ +.arms.pc-col + .pc-row.weapons + .header.right-header + h1(data-i18n='weapons') Weapons + .right-tri + .header.right-header + .header.htab + .triangle + input.tab-switch(name='attr_weapon_type_toggle' type='radio' value='range' checked) + h1(data-i18n='ranged') Ranged + .right-tri + .header.htab + .triangle + input.tab-switch(name='attr_weapon_type_toggle' type='radio' value='melee') + h1(data-i18n='melee') Melee + .right-tri + .border-box + .pc-box.medium-box + input.tab-switch(name='attr_weapon_type_toggle' type='hidden' value='range') + .rows.repeating-container.weapon-range + - const rangeRepeatingSection = '@{repeating_range_${x}'; + +h2Headers(pcRangeWeaponObject) + fieldset(class='repeating_range') + input(name='attr_dicepool' type='hidden' value='0') + input.flag-primary(name='attr_primary' type='hidden' value='') + +weaponRollButton(pcRangeWeaponButton) + each val in ['Dam', 'AP', 'Mode', 'RC', 'Ammo'] + - const attrName = val === 'Dam' ? 'damage' : val === 'RC' ? 'recoil' : val.toLowerCase(); + if val === 'Mode' + select(name='attr_mode' title='@{mode}' value='BF') + each val in weaponModes + option(data-i18n=val.toLowerCase() value=val) #{val} + else + span.center(name=`attr_${attrName}`) + +repeatingSectionFlags() + .settings + each val, key in pcRangeWeaponObject + - const attrName = key === 'Dam' ? 'damage' : key.toLowerCase(); + if key === 'Mode' + select(name='attr_mode' title='@{mode}' value='BF') + each val in weaponModes + option(data-i18n=val.toLowerCase() value=val) #{val} + else + label(data-i18n-title=key.toLowerCase() title=key.toLowerCase()) + input(name=`attr_${attrName}` placeholder=val['placeholder'] title=`${rangeRepeatingSection}_${attrName}}` type=val['type'] value='') + .row + h3(data-i18n='modeoptions') Mode Options + label(data-i18n-title='modeoptions' title='Mode Options') + input(name='attr_mode_options' placeholder='SA/BF/FA' type='text' title=`${rangeRepeatingSection}_mode_options}}`) + h3(data-i18n='range') range + label(data-i18n-title='range' title='Range') + input(name='attr_range' placeholder='25/150/350/550' type='text' title='') + h3(data-i18n='primary') primary + label(data-i18n-title='primary' title='Primary') + input(name='attr_primary' type='checkbox' title=`${rangeRepeatingSection}_primary}` value='primary') + + .row + h3(data-i18n='skill') skill + select(name=`attr_skill` title=`${rangeRepeatingSection}_skill}` value='@{firearms}') + optgroup(label='Combat Skills' ) Combat Skills + option(data-i18n='firearmsgroup' value='@{firearms}' selected) Firearms Group + option(data-i18n='automatics' value='@{automatics}') Automatics + option(data-i18n='archery' value='@{Archery}') Archery + option(data-i18n='exoticrange' value='0') Exotic Range + option(data-i18n='heavyweapons' value='@{heavyweapons}') Heavy Weapons + option(data-i18n='longarms' value='@{longarms}') Longarms + option(data-i18n='pistols' value='@{pistols}') Pistols + option(data-i18n='throwingweapons' value='@{throwingweapons}') Throwing Weapons + optgroup(label='Vehicle Skills') Vehicle Skills + option(data-i18n='gunnery' value='@{gunnery}') Gunnery + h3(data-i18n='specialization') specialization + label(data-i18n-title='specialization' title='specialization') + input(name='attr_specialization' value='2' title=`${rangeRepeatingSection}_specialization}` type='checkbox') + h3(data-i18n='modifier') modifier + label(data-i18n-title='modifier' title='modifier') + input(name='attr_dicepool_modifier' title=`${rangeRepeatingSection}_dicepool_modifier}` type='number') + input(name=`attr_skill` type='hidden' value='') + .exotic-warning + i(data-i18n='exoticnote') Exotic weapons are not linked to a skill. Use Modifier input to set dicepool. + +repeatingSectionNotes('range') + .rows.repeating-container.weapon-melee + - const meleeRepeatingSection = '@{repeating_melee_${x}'; + +h2Headers(pcMeleeWeaponObject) + fieldset(class='repeating_melee') + input(name='attr_dicepool' type='hidden' value='0') + input.flag-primary(name='attr_primary' type='hidden' value='') + +weaponRollButton(pcMeleeWeaponButton) + each val in ['Dam', 'AP', 'Reach'] + - const attrName = val === 'Dam' ? 'damage' : val.toLowerCase(); + span.center(name=`attr_${attrName}`) + +repeatingSectionFlags() + .settings + each val, key in pcMeleeWeaponObject + - const attrName = key === 'Dam' ? 'damage' : key.toLowerCase(); + label(data-i18n-title=key.toLowerCase() title=key.toLowerCase()) + input(name=`attr_${attrName}` placeholder=val['placeholder'] title=`${meleeRepeatingSection}_${attrName}}` type=val['type'] value='') + h3(data-i18n='primary') primary + label(data-i18n-title='primary' title='Primary') + input(name='attr_primary' type='checkbox' title=`${meleeRepeatingSection}_primary}` value='primary') + .row + h3(data-i18n='skill') skill + select(name=`attr_skill` title=`${meleeRepeatingSection}_skill}` value='@{closecombat}') + optgroup(label='Combat Skills' ) Combat Skills + option(data-i18n='closecombatgroup' value='@{closecombat}' selected) Close Combat Group + option(data-i18n='blades' value='@{blades}') Blades + option(data-i18n='clubs' value='@{clubs}') Clubs + option(data-i18n='exoticmelee' value='0') Blades + option(data-i18n='unarmedcombat' value='@{unarmedcombat}') Unarmed Combat + optgroup(label='Vehicle Skills') Vehicle Skills + option(data-i18n='gunnery' value='@{gunnery}') Gunnery + h3(data-i18n='specialization') specialization + label(data-i18n-title='specialization' title='specialization') + input(name='attr_specialization' value='2' title=`${meleeRepeatingSection}_specialization}` type='checkbox') + h3(data-i18n='modifier') modifier + label(data-i18n-title='modifier' title='modifier') + input(name='attr_dicepool_modifier' title=`${meleeRepeatingSection}_dicepool_modifier}` type='number') + input(name=`attr_skill` type='hidden' value='') + .exotic-warning + i(data-i18n='exoticnote') Exotic weapons are not linked to a skill. Use Modifier input to set dicepool. + +repeatingSectionNotes('melee') + .pc-row.armor + .header.right-header + h1(data-i18n='armor') Armor + .right-tri + .border-box + .pc-box.medium-box + .rows.repeating-container + - const armorRepeatingSection = '@{repeating_armor_${x}'; + .row-long.headers + each val in ['armor', 'ballistic', 'impact'] + h2(data-i18n=`${val.toLowerCase()}`) #{val} + fieldset(class='repeating_armor') + input.flag-primary(name='attr_primary' type='hidden' value='') + .primary.eclipse + span.bold(name='attr_name') + each val in armorTypes + - const attrName = val.toLowerCase(); + button(name=`roll_${attrName}` type='roll' value!=noWoundsRollBegining+`{{header=@{name}}}{{base=^{armor}}}{{dice=[[((@{${attrName}}+@{soak}+@{modifier})`+noWoundsRollEnding) + span.center(name=`attr_${attrName}`) + input.collapse-flag(name='attr_display_flag' type='checkbox') + span.pictos i + input.settings-flag(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + .collapse + each val in armorProtectionsButtons + - const attrName = val.toLowerCase(); + input(type='hidden' name=`attr_${attrName}`) + button(data-i18n=`${val} Protection` name=`roll_${attrName}` type='roll' value!=noWoundsRollBegining+`{{header=^{${val} Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{${attrName}_modifier}+@{soak}+@{modifier})`+noWoundsRollEnding) + button(data-i18n=`Laser Protection` name=`roll_laser` type='roll' value!=noWoundsRollBegining+`{{header=^{Laser Protection}}}{{base=^{armor}}}{{dice=[[((@{impact}/2)+@{radiation_modifier}+@{laser_modifier}+@{soak}+@{modifier})`+noWoundsRollEnding) + button(data-i18n=`Gause Round Armor` name=`roll_gause` type='roll' value!=noWoundsRollBegining+`{{header=^{Gause Round Armor}}}{{base=^{armor}}}{{dice=[[((@{ballistic}/2)+@{gause_modifier}+@{soak}+@{modifier})`+noWoundsRollEnding) + .row + span(name='attr_notes') + .settings + label(data-i18n-title='name' title='name') + input(name='attr_name' placeholder='Armor Jacket' title=`@{${armorRepeatingSection}_name}` type='text' value='') + each val in armorTypes + - const attrName = val.toLowerCase(); + label(data-i18n-title=val) + input(name=`attr_${attrName}` placeholder='9' title=`@{${armorRepeatingSection}_${attrName}}` type='text' value='') + .row + each val in armorProcAbbrev + h2.center(data-i18n=val) #{val} + .row + each val in armorProtectionsInputs + - const attrName = val.toLowerCase(); + label.protections(data-i18n-title=val) + input(name=`attr_${attrName}_modifier` placeholder='0' title=`@{${armorRepeatingSection}_${attrName}_modifier}` type='number' value='0') + label.protections(data-i18n-title='Laser Protection') + input(name=`attr_laser_modifier` placeholder='0' title=`@{${armorRepeatingSection}_laser_modifier}` type='number' value='0') + label.protections(data-i18n-title='Gause Round') + input(name=`attr_gause_modifier` placeholder='0' title=`@{${armorRepeatingSection}_gause_modifier}` type='number' value='0') + .row + h3(data-i18n='primary') primary + label(data-i18n-title='primary' title='Primary') + input(name='attr_primary' type='checkbox' title=`${armorRepeatingSection}_primary}` value='primary') + h3(data-i18n='modifier') modifier + label(data-i18n-title='modifier' title='modifier') + input(name='attr_modifier' placeholder='0' title=`${armorRepeatingSection}_modifier}` type='number' value='0') + +repeatingSectionNotes('armor') diff --git a/Shadowrun4thEdition/src/pug/tabs/_augs.pug b/Shadowrun4thEdition/src/pug/tabs/_augs.pug new file mode 100644 index 0000000000..455c697261 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_augs.pug @@ -0,0 +1,24 @@ +.augs.pc-col + .pc-row + .header.right-header + h1(data-i18n='augmentations') Augmentations + .right-tri + .border-box + .pc-box.medium-box + .row-long.headers + each val in augementations + h2(data-i18n=`${val.toLowerCase()}`) #{val} + .rows.repeating-container + fieldset(class=`repeating_augementations`) + span(name=`attr_augmentation`) + span.center(name=`attr_rating`) + span.center(name=`attr_essence`) + +repeatingSectionFlags() + .settings + each val in augementations + - const attrName = val === 'Augmentations' ? 'augmentation' : val.toLowerCase(); + - const type = val === 'Augmentations' ? 'text' : 'number'; + - const placeholder = val === 'Augmentations' ? 'name' : '0'; + label(data-i18n-title=val title=val) + input(name=`attr_${attrName}` placeholder=placeholder title=`@{repeating_augementations_`+'${x}'+`_${attrName}}` type=type value='') + +repeatingSectionNotes('augementations') diff --git a/Shadowrun4thEdition/src/pug/tabs/_core.pug b/Shadowrun4thEdition/src/pug/tabs/_core.pug new file mode 100644 index 0000000000..7fdf9ecb4c --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_core.pug @@ -0,0 +1,46 @@ +.core.pc-col + include ../../html/core.html + .quality-box + .header.right-header + .header.htab + input.tab-switch(input name='attr_quality_toggle' type='radio' value='quality' checked) + h1(data-i18n='qualities') Qualities + .right-tri + .header.htab + .triangle + input.tab-switch(input name='attr_quality_toggle' type='radio' value='martial') + h1(data-i18n='martialarts') Martial Arts + .right-tri + .border-box + .pc-box.medium-box + input.tab-switch(input name='attr_quality_toggle' type='hidden' value='quality') + .quality + .row-long.headers + each val in ['Quality', 'Type'] + h2(data-i18n=`${val.toLowerCase()}`) #{val} + .rows.repeating-container + fieldset(class='repeating_quality') + span.eclipse(name="attr_quality") + span.center(name="attr_type") + button.pictos(name="quality_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{quality}}}{{desc=@{notes}}}") w + +repeatingSectionFlags() + .settings + input(name="attr_quality" placeholder="quality name" title="@{repeating_quality_${x}_quality}" type="text") + select(name="attr_type" title="@{repeating_quality_${x}_type}" value='p') + option(data-i18n="p" value="P" selected) P + option(data-i18n="n" value="N") N + +repeatingSectionNotes('quality') + .martial + .row-long.headers + each val in ['Technique', 'Style'] + h2(data-i18n=`${val.toLowerCase()}`) #{val} + .rows.repeating-container + fieldset(class='repeating_martial') + span.eclipse(name="attr_technique") + span.center(name="attr_style") + button.pictos(name="technique_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{technique}}}{{desc=@{notes}}}") w + +repeatingSectionFlags() + .settings + input(name="attr_technique" placeholder="technique name" title="@{repeating_martial_${x}_technique}" type="text") + input(name="attr_style" placeholder="style name" title="@{repeating_martial_${x}_style}" type="text") + +repeatingSectionNotes('martial') diff --git a/Shadowrun4thEdition/src/pug/tabs/_gear.pug b/Shadowrun4thEdition/src/pug/tabs/_gear.pug new file mode 100644 index 0000000000..be014fb938 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_gear.pug @@ -0,0 +1,24 @@ +.gear.pc-col + .pc-row + .header.right-header + h1(data-i18n='gear') gear + .right-tri + .border-box + .pc-box.medium-box + .row-long.headers + each val in ['Item', 'Rating', 'Quantity'] + h2(data-i18n=`${val.toLowerCase()}`) #{val} + .rows.repeating-container + fieldset(class=`repeating_items`) + span(name=`attr_item`) + span.center(name=`attr_rating`) + span.center(name=`attr_quantity`) + +repeatingSectionFlags() + .settings + label(data-i18n-title='item' title='item') + input(name=`attr_item` placeholder='Jammer' title=`@{repeating_items_`+'${x}'+`_item}` type='text' value='') + label(data-i18n-title='rating' title='rating') + input(name=`attr_rating` placeholder='3' title=`@{repeating_items_`+'${x}'+`_rating}` type='text' value='') + label(data-i18n-title='quantity' title='quantity') + input(name=`attr_quantity` placeholder='x3' title=`@{repeating_items_`+'${x}'+`_quantity}` type='text' value='') + +repeatingSectionNotes('items') diff --git a/Shadowrun4thEdition/src/pug/tabs/_magic.pug b/Shadowrun4thEdition/src/pug/tabs/_magic.pug new file mode 100644 index 0000000000..58c6083fbf --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_magic.pug @@ -0,0 +1,106 @@ +.magic.pc-col + .pc-row.spell-box + .header.right-header + h1(data-i18n='magic') Magic + .right-tri + .header.right-header + .header.htab + .triangle + input.magic-toggle(name='attr_magic_toggle' title='@{magic_toggle}' type='radio' value='spells' checked) + h1(data-i18n='spells') Spells + .right-tri + .header.htab + .triangle + input.magic-toggle(name='attr_magic_toggle' title='@{magic_toggle}' type='radio' value='preps') + h1(data-i18n='prep') Prep... + .right-tri + .header.htab + .triangle + input.magic-toggle(name='attr_magic_toggle' title='@{magic_toggle}' type='radio' value='rituals') + h1(data-i18n='rituals') Rituals + .right-tri + .border-box + .pc-box.medium-box + +fadeDrainSection('drain') + input.magic-toggle(name='attr_magic_toggle' type='hidden' value='spells') + .row-long.headers + each val in ['spells', 'type', 'range', 'duration', 'drain'] + h2(data-i18n=val) #{val} + + .magic-spells.spellsForumlas + +pcSpells('spell') + + .magic-preps.spellsForumlas + +pcSpells('preps') + + .rows.repeating-container.prepared-preparations + h2(data-i18n='preperations') + .row-long.headers + each val in ['name', 'force', 'potency', 'trigger'] + h3(data-i18n=val) + fieldset(class='repeating_preperations') + +displayRollButton(prepButton, false) + each val in ['force', 'potency', 'trigger'] + span.center(name=`attr_${val}`) + +repeatingSectionFlags() + .settings + label(data-i18n-title='name' title='name') + input(name='attr_name' placeholder='Name' title='@{repeating_preperations_${x}_name}' type='text' value='') + label(data-i18n-title='force' title='force') + input(name='attr_force' placeholder='1' title='@{repeating_preperations_${x}_force}' type='number' value='') + label(data-i18n-title='potency' title='potency') + input(name='attr_potency' placeholder='1' title='@{repeating_preperations_${x}_potency}' type='number' value='') + select(name='attr_trigger' title='@{repeating_preperations_${x}_trigger}' value='Command') + optgroup(label='Trigger') Trigger + option(data-i18n='command' value='Command') command + option(data-i18n='contact' value='Contact' selected) contact + option(data-i18n='time' value='Time') time + option(data-i18n='special' value='Special') special + +repeatingSectionNotes('preperations') + + .magic-rituals + .rows.repeating-container + fieldset(class=`repeating_ritual`) + - const repeatingRitualSection = `@{repeating_${type}`+'_${x}'; + input(name='attr_dicepool' type='hidden' value='0') + +displayRollButton(pcRitualButton, true) + each val in ['type', 'range', 'duration', 'drain'] + span.center(name='attr_'+val) + +repeatingSectionFlags() + .settings + label(data-i18n-title='name' title='name') + input(name='attr_name' placeholder='Curse (MATERIAL LINK, SPELL)' title=`@{${repeatingRitualSection}_name}` type='text') + .rows + h3(data-i18n='skill') skill + select(name='attr_skill' title=`@{${repeatingRitualSection}_skill}`) + option(data-i18n='sorcerygroup' value='@{sorcery}') Sorcery Group + option(data-i18n='ritualspellcasting' value='@{ritualspellcasting}' selected) Ritual Spellcasting + h3(data-i18n='specialization') specialization + label(data-i18n-title='specialization' title='specialization') + input(name='attr_specialization' title=`@{${repeatingRitualSection}_specialization}` type='checkbox' value='2') + h3(data-i18n='modifier') modifier + label(data-i18n-title='modifier' title='modifier') + input(name='attr_dicepool_modifier' title=`@{${repeatingRitualSection}_dicepool_modifier}` type='number') + +repeatingSectionNotes('ritual') + + .pc-row.powers + .header.right-header + h1(data-i18n='adeptpowers') Adept Powers or Other Abilities + .right-tri + .border-box + .pc-box.medium-box + +fadeDrainSection('drain', true) + .row-long.headers + h2(data-i18n='name') Name + h2.center(data-i18n='rating') Rating + .rows.repeating-container.powers + fieldset(class=`repeating_powers`) + span(name='attr_name') + span.center(name='attr_rating') + +repeatingSectionFlags() + .settings + label(data-i18n-title='name' title='name') + input(name='attr_name' placeholder='name' title='@{repeating_powers_${x}_name}' type='text' value='') + label(data-i18n-title='rating' title='rating') + input(name='attr_rating' placeholder='rating' title='@{repeating_powers_${x}_rating}' type='number' value='') + +repeatingSectionNotes('powers') diff --git a/Shadowrun4thEdition/src/pug/tabs/_matrix.pug b/Shadowrun4thEdition/src/pug/tabs/_matrix.pug new file mode 100644 index 0000000000..c114398f68 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_matrix.pug @@ -0,0 +1,103 @@ +.matrix.pc-col + .pc-row.matrix-box + .header.right-header + h1(data-i18n='Commlinks') Commlinks + .right-tri + .border-box + .pc-box.medium-box + .commlinks.rows.repeating-container + fieldset(class=`repeating_commlinks`) + - const commlinksrepeatingSection = `@{repeating_commlink_` + "${x}"; + each val in ['name', 'os', 'response', 'system', 'signal', 'firewall'] + h2.text-capitalize(data-i18n=val) + label(data-i18n-title=val) + input(name=`attr_${val}` placeholder=`Commlink ${val}` title=`@{${commlinksrepeatingSection}_${val}}` type='text' value='') + .con-hex + input(type="radio" name="attr_matrix" value="0") + h2(data-i18n="conditionmonitor") + -let matrixHexes = 0; + while matrixHexes < 13 + input(type="radio" name="attr_matrix" value=matrixHexes++) + span.hexagon + .rows.repeating-container.programs + h2(data-i18n='programs') Programs + fieldset(class=`repeating_programs`) + - const programRepeatingSection = `@{repeating_programs_` + '${x}'; + input.toggle(name='attr_program_on' type='checkbox' checked) + span.pictos Q + button.pictos(name="roll_program" type="roll" value!=`${rollBeginging}{{header=@{program}}}{{base=^{base}}}{{dice=[[((@{skill}+@{rating}+@{modifier}+@{specialization})+@{wounds_toggle}+@{modifiers_toggle}+@{edge_toggle})d6>5@{explode_toggle}]]}}`) + span.eclipse(name='attr_program') + +repeatingSectionFlags() + .settings + .col + label(data-i18n-title='programs' title='programs') + input(name='attr_program' placeholder='Program name' title='@{repeating_programs_${x}_program}' type='text' value='') + .col + h3(data-i18n='rating') rating + label(data-i18n-title='programs' title='programs') + input(name='attr_rating' placeholder='0' title='@{repeating_programs_${x}_rating}' type='number' value='0') + .col + h3(data-i18n='skill') skill + select(name=`attr_skill` title=`${programRepeatingSection}_skill}` value='@{cracking}') + optgroup(label='Cracking Skills' ) Cracking Skills + option(data-i18n='crackinggroup' value='@{cracking}' selected) Cracking Group + option(data-i18n='cybercombat' value='@{cybercombat}') Cybercombat + option(data-i18n='hacking' value='@{hacking}') Hacking + option(data-i18n='electronicwarfare' value='@{electronicwarfare}') Electronic Warfare + optgroup(label='Electronic Skills' ) Electronic Skills + option(data-i18n='electronicsgroup' value='@{electronics}') Electronics Group + option(data-i18n='computer' value='@{computer}') Computer + option(data-i18n='datasearch' value='@{datasearch}') Data Search + option(data-i18n='hardware' value='@{hardware}') Hardware + option(data-i18n='software' value='@{software}') Software + .col + h3(data-i18n='specialization') specialization + label(data-i18n-title='specialization' title='specialization') + input(name='attr_specialization' value='2' title=`${programRepeatingSection}_specialization}` type='checkbox') + .col + h3(data-i18n='modifier') modifier + label(data-i18n-title='modifier' title='modifier') + input(name='attr_modifier' title=`${programRepeatingSection}_modifier}` type='number' value='0') + +repeatingSectionNotes('programs') + .pc-row + .header.right-header + h1(data-i18n='complex form') Complex Forms + .right-tri + .border-box + .pc-box.medium-box + +fadeDrainSection('fade') + .rows.repeating-container.complex-forms + - const formsrepeatingSection = `@{repeating_forms_` + "${x}"; + .row-long.headers + each val in complexFormAttributes + h2.text-capitalize(data-i18n=val) + fieldset(class=`repeating_forms`) + input(name='attr_dicepool' type='hidden' value='0') + +displayRollButton(pcComplexFormButton, true) + - const complexFormSpans = complexFormAttributes.shift(); + each val in complexFormSpans + span.center.eclipse(name=`attr_${val}`) + +repeatingSectionFlags() + .settings + label(data-i18n-title='name' title='name') + input(name='attr_name' placeholder='name' title=`${formsrepeatingSection}_name}` type='text' value='') + select(name=`attr_target` title=`${formsrepeatingSection}_target}` value='Device') + each val in formTargets + option.text-capitalize(data-i18n=val value=val) #{val} + select(name=`attr_duration` title=`${formsrepeatingSection}_duration}` value='Instant') + each val in formDurations + option.text-capitalize(data-i18n=val value=val) + label(data-i18n-title='fade' title='fade') + input(name='attr_fade' placeholder='-1' title=`${formsrepeatingSection}_fade}` type='number' value='') + .row + h3(data-i18n='skill') skill + select(name=`attr_skill` title=`${formsrepeatingSection}_skill}` value='@{software}') + option(data-i18n='Electronics Group' value='@{electronics}') Electronics Group + option(data-i18n='software' value='@{software}' selected) Software + h3(data-i18n='specialization') + label(data-i18n-title='specialization' title='specialization') + input(name='attr_specialization' value='2' title=`${formsrepeatingSection}_specialization}` type='checkbox') + h3(data-i18n='modifier') modifier + label(data-i18n-title='modifier' title='modifier') + input(name='attr_dicepool_modifier' title=`${formsrepeatingSection}_dicepool_modifier}` type='number') + +repeatingSectionNotes('forms') diff --git a/Shadowrun4thEdition/src/pug/tabs/_social.pug b/Shadowrun4thEdition/src/pug/tabs/_social.pug new file mode 100644 index 0000000000..664b959e31 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_social.pug @@ -0,0 +1,68 @@ +.social.pc-col + .pc-row + .header.right-header + h1(data-i18n="idslifestylecurrency") + .right-tri + .border-box.lifestyle + .pc-box.small-box + .row-long + h3(data-i18n="primarylifestyle") + input(name="attr_primary_lifestyle" placeholder="Middle /w GRID subscription" style="width: 77%" title="@{primary_lifestyle}" type="text") + .row-long + h3(data-i18n="nuyen") + input(type="text" name="attr_primary_nuyen" placeholder="$1,000 UCAS" style="width: 90%" title="@{primary_nuyen}") + .row-long + h3(data-i18n="licenses") + input(type="text" name="attr_primary_licenses" placeholder="Technomancer, Pistols..." style="width: 87%" title="@{primary_licenses}") + .row-long.headers + h2(data-i18n="fakeidsrelated") + .rows.repeating-container + fieldset(class='repeating_lifestyle') + span.eclipse(name="attr_name") + button.pictos(name="lifestyle_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{name}}}{{desc=^{relatedlifestyle} @{lifestyle} , ^{nuyen} @{funds}, ^{licenses} @{licenses}}}") w + input.collapse-flag(name='attr_display_flag' type='checkbox') + span.pictos i + input.settings-flag(name='attr_flag' title='Settings toggle' type='checkbox' checked) + span.pictos x + .collapse + .rows + h3(data-i18n="relatedlifestyle") + span(name='attr_lifestyle') + .rows + h3(data-i18n="nuyen") + span(name='attr_funds') + .rows + h3(data-i18n="licenses") + span(name='attr_licenses') + .settings + h3(data-i18n="fakeid") + input.text-left(name="attr_name" placeholder="John Doe" title="@{repeating_lifestyle_${x}_name}" type='text') + h3(data-i18n="relatedlifestyle") + textarea(name="attr_lifestyle" placeholder="Middle" title="@{repeating_lifestyle_${x}_lifestyle}") + h3(data-i18n="funds") + textarea(name="attr_funds" placeholder="$1,000 UCAS" title="@{repeating_lifestyle_${x}_funds}") + h3(data-i18n="licenses") + textarea(name="attr_licenses" placeholder="Technomancer, Pistols" title="@{repeating_lifestyle_${x}_licenses}") + .pc-row + .header.right-header + h1(data-i18n="contacts") + .right-tri + .border-box.contacts + .pc-box.small-box + .row-long.headers + each val in ['name', 'loyalty', 'connection', 'favor'] + h2(data-i18n=`${val.toLowerCase()}`) #{val} + .rows.repeating-container + fieldset(class='repeating_contacts') + span.eclipse(name="attr_name") + span.center(name="attr_loyalty") + span.center(name="attr_connection") + span.center(name="attr_favors") + button.pictos(name="ontact_chat" type="roll" value="@{gm_toggle} &{template:rolls}{{header=@{name}}}{{desc=^{loyalty} @{loyalty} , ^{connection} @{connection}, ^{favor} @{favors}}}") w + +repeatingSectionFlags() + .settings + input(type="text" name="attr_name" placeholder="Old Crow" title="@{repeating_contacts_${x}_name}") + input(type="number" name="attr_loyalty" min="1" placeholder="3" title="@{repeating_contacts_${x}_name}") + input(type="number" name="attr_connection" min="1" placeholder="8" title="@{repeating_contacts_${x}_name}") + input(type="number" name="attr_favors" placeholder="+2" title="@{repeating_contacts_${x}_name}") + +repeatingSectionNotes('contacts') diff --git a/Shadowrun4thEdition/src/pug/tabs/_static.pug b/Shadowrun4thEdition/src/pug/tabs/_static.pug new file mode 100644 index 0000000000..ebdf32c645 --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_static.pug @@ -0,0 +1,72 @@ +.static.pc-col + include ../../html/static.html + //- SKILLS + .pc-row + .header + - const skillTypes = {'Active': 'active', 'Knowledge': 'know', 'Language': 'lang'} + each val, key in skillTypes + - const attrName = key.toLowerCase(); + .header.htab + .triangle + input.tab-switch(name='attr_skill_toggle' title=key + ' skills' type='radio' value=attrName) + h1(data-i18n=val) #{val}.. + .right-tri + .triangle + h1(data-i18n='skills') Skills + .border-box.skill-box + .pc-box.medium-box + .rows.repeating-container + .row-long.headers + each val in ['Skill', 'RTG', 'Attribute'] + - const translationKey = val.toLowerCase(); + h2(data-i18n=translationKey) #{val} + input.tab-switch(name='attr_skill_toggle' type='hidden' value='active') + each val, key in {'active': ['active', 'Agility', 'Physical'],'knowledge':['know', 'Logic', 'Mental'], 'language': ['lang', 'Charisma', 'Social']} + div(class=`skills-${val[0]}`) + .rows.repeating-container + if key === 'active' + .row-long + input(name='attr_default_display' type='hidden' value='Agility') + +rollButton('default', '@{default_display}', '@{default_attribute}+-1') + span.text-align-center - + select.attribute-select(name='attr_default_attribute' title='Skill attribute') + +attributeSelect('Agility') + fieldset(class=`repeating_${key}`) + - const skillsRepeatingSection = `@{repeating_${key}`+'_${x}'; + + input(name='attr_display_rating' type='hidden') + input(name='attr_specialization' type='hidden' value='') + input(name='attr_display_attribute' type='hidden' value=val[1]) + input(name='attr_dicepool' type='hidden' value='0') + + if key === 'active' + input(name='attr_display_skill' type='hidden' value='') + + input.settings-flag(name='attr_flag' type='hidden' value='settings' title=`${skillsRepeatingSection}_flag}`) + .buttons + //- SKILL BUTTON + +skillButton(false, key) + //- SPECILIZATION BUTTON + +skillButton(true) + span.text-align-center(name='attr_display_rating' title=`${skillsRepeatingSection}_display_rating}`) + select.attribute-select(name='attr_attribute' title=`${skillsRepeatingSection}_attribute}`) + +attributeSelect(val[1]) + +repeatingSectionFlags() + .settings + if key === 'active' + select.skill-select(name='attr_skill' value='Close Combat Group' title=`${skillsRepeatingSection}_skill}`) + include ../../html/skillselect.html + else + label(data-i18n-title='skill' title='skill') + input(name='attr_skill' placeholder=key type='text' title=`${skillsRepeatingSection}_skill}`) + label(data-i18n-title='rating' title='rating') + input(name='attr_rating' min='0' placeholder='0' type='number' title=`${skillsRepeatingSection}_rating}`) + label(data-i18n-title='ratingmodifier' title='Rating Modifier') + span(data-i18n='ratingmodifier') Rating Modifier + input(name='attr_rating_modifier' placeholder='0' type='number' title=`${skillsRepeatingSection}_rating_modifier}`) + label(data-i18n-title='specialization' title='specialization') + span(data-i18n='specialization') specialization + input(name='attr_specialization' placeholder='Specalizations' type='text' title=`${skillsRepeatingSection}_specialization}`) + label(data-i18n-title='notes' title='notes') + span(data-i18n='notes') Notes + textarea(name='attr_notes' value='' placeholder='Notes' title=`${skillsRepeatingSection}_notes}`) diff --git a/Shadowrun4thEdition/src/pug/tabs/_tabs.pug b/Shadowrun4thEdition/src/pug/tabs/_tabs.pug new file mode 100644 index 0000000000..77ea0e829f --- /dev/null +++ b/Shadowrun4thEdition/src/pug/tabs/_tabs.pug @@ -0,0 +1,22 @@ +.tabs + img(alt='Shadowrun' src=`${imageSource}/ShadowrunLogo.png`) + h1(data-i18n='character') Character + label(data-i18n-title='character name' title='character name') + input(type='text' name='attr_character_name' placeholder='Character name' title='@{character_name}') + h1(data-i18n='player') Player + label(data-i18n-title='player name' title='player name') + input(type='text' name='attr_player_name' placeholder='Player name' title='@{player_name}') + h2(data-i18n-title='/w GM') /w GM + label.switch(data-i18n-title='whisper rolls to gm' title='whisper rolls to gm') + input.whisper-toggle(name='attr_gm_toggle' type='checkbox' value='/w gm') + span.slider + each val, key in {'wounds': '@{wounds}', 'modifiers':'?{Modifiers +/-|0}', 'edge':'@{edge}'} + h2(data-i18n-title=key) #{key} + label.switch(data-i18n-title=key title=key) + input.whisper-toggle(name='attr_'+key+'_toggle' type='checkbox' value=val) + span.slider + button(name='d6' title='Roll D6s' type='roll' value!='@{gm_toggle} &{template:rolls}{{header=^{d6}}}{{base=^{d6}}}{{dice=[[(?{d6s|0}d6>5@{explode_toggle})]]}}') L + input(name='attr_tab' type='hidden' value='options') + button.pictos(name='act_tab_options' title='@{tab}' type='action' ) y + each val in tabs + button(data-i18n=val name=`act_tab_${val}` type='action' title='@{tab}') #{val} \ No newline at end of file diff --git a/Shadowrun4thEdition/src/scss/_hide.scss b/Shadowrun4thEdition/src/scss/_hide.scss new file mode 100644 index 0000000000..eb39d2947e --- /dev/null +++ b/Shadowrun4thEdition/src/scss/_hide.scss @@ -0,0 +1,217 @@ + %display-none { display: none; } + %display-inline { display: inline; } + + %display-inline-grid { display: inline-grid; } + + %display-grid { display: grid; } + + %display-inline-block, + .sheet-static { + display: inline-block; + } + + /***** PC AND NPC *****/ + @each $characterType in $characterTypes { + .sheet-#{$characterType} { @extend %display-none; } + } + + input[name='attr_sheet_type']:not([value='pc']) ~ .sheet-npc, + input[name='attr_sheet_type'][value='pc'] ~ .sheet-pc { + @extend %display-inline-block; + } + + /***** TABS *****/ + @each $tab in $tabs { + .sheet-#{$tab} { + @extend %display-none; + } + .sheet-options_toggle[value='#{$tab}'] ~ .sheet-#{$tab} { + @extend %display-inline-block; + } + } + + /***** SWITCH BETWEEN DIFFERENT TABS *****/ + .sheet-skills-active, + .sheet-skills-know, + .sheet-skills-lang { + @extend %display-none; + } + + .sheet-tab-switch[value='active'] ~ .sheet-skills-active, + .sheet-tab-switch[value='knowledge'] ~ .sheet-skills-know, + .sheet-tab-switch[value='language'] ~ .sheet-skills-lang { + @extend %display-inline; + } + + @each $magicTabs in 'spells', 'preps', 'rituals' { + .sheet-magic-#{$magicTabs} { @extend %display-none; } + .sheet-magic-toggle[value='#{$magicTabs}'] ~ .sheet-magic-#{$magicTabs} { @extend %display-inline; } + } + + @each $qualityTabs in 'quality', 'martial' { + .sheet-#{$qualityTabs} { @extend %display-none; } + .sheet-tab-switch[value='#{$qualityTabs}'] ~ .sheet-#{$qualityTabs} { @extend %display-inline; } + } + + /***** SETTINGS *****/ + div.sheet-collapse, + .sheet-settings { @extend %display-none; } + + input[name='attr_stats_toggle'][value='settings'] ~ .sheet-attribute .sheet-settings, + input[name='attr_stats_toggle'][value='settings'] ~ .sheet-body .sheet-column .sheet-settings, + input[name='attr_stats_toggle'][value='settings'] ~ .sheet-body .sheet-textrow .sheet-settings { + @extend %display-inline-block; + } + + /*** TOGGLE ***/ + input.sheet-settings-toggle:checked ~ div.sheet-display, + input.sheet-settings-toggle:checked ~ .sheet-attr-col .sheet-attr-und div.sheet-display, + input.sheet-settings-toggle ~ .sheet-attr-lim div.sheet-settings, + input.sheet-settings-toggle:checked ~ .sheet-attr-lim div.sheet-display, + input.sheet-settings-toggle[value='settings'] ~ div.sheet-display, + input.sheet-settings-toggle[value='display'] ~ div.sheet-settings, + input.sheet-settings-toggle[value='display'] ~ div.sheet-settings-grid { + @extend %display-none; + } + + .sheet-display, + input.sheet-settings-toggle:checked ~ div.sheet-settings, + input.sheet-settings-toggle:checked ~ .sheet-attr-col .sheet-attr-und div.sheet-settings, + input.sheet-settings-toggle:checked ~ .sheet-attr-lim div.sheet-settings { + background: none; + display : inherit; + font-size : 1em; + text-align: left; + width : 100%; + } + + /* NEW REPEATING CONTAINER WAY TO SHOW & HIDE SETTINGS */ + /* SLOWLY ELIMINATE ALL TRACES OF SETTINGS-TOGGLE WITH THIS WAY OF DOING THINGS */ + input.sheet-settings-flag:checked ~ div.sheet-settings { display : inherit; } + input.sheet-collapse-flag:checked ~ div.sheet-collapse { display: block; } + + /* OLD WAY TO SHOW & HIDE THINGS */ + input.sheet-settings-toggle[value='display'] ~ .sheet-settings { @extend %display-none; } + input.sheet-settings-toggle[value='settings'] ~ .sheet-settings { @extend %display-inline-block; } + + @each $specialAttribute in $specialCharacters { + //-PCs + .sheet-hide-#{$specialAttribute} { @extend %display-none; } + .sheet-character-type[value='#{$specialAttribute}'] ~ .sheet-pc .sheet-pc-row .sheet-attr-col .sheet-hide-#{$specialAttribute} { + @extend %display-inline-block; + } + + //NPC + input[name='attr_flag_special'][value='#{$specialAttribute}'] ~ .sheet-npc .sheet-hide-#{$specialAttribute} { + @extend %display-inline-block; + } + } + + /***** PC WEAPONS *****/ + div.sheet-weapon-range, + div.sheet-weapon-melee { + @extend %display-none; + } + + input.sheet-tab-switch[value='range'] ~ .sheet-weapon-range, + input.sheet-tab-switch[value='melee'] ~ .sheet-weapon-melee { + @extend %display-inline-block; + } + + + /***** NPC TYPES *****/ + @each $npcType in $npcTypes { + .sheet-#{$npcType} { @extend %display-none; } + + input[name='attr_sheet_type'][value='#{$npcType}'] ~ .sheet-npc .sheet-attribute.sheet-#{$npcType} { + @extend %display-inline-grid; + } + + input[name='attr_sheet_type'][value='#{$npcType}'] ~ .sheet-npc .sheet-rows.sheet-#{$npcType}, + input[name='attr_sheet_type'][value='#{$npcType}'] ~ .sheet-npc .sheet-textrow.sheet-#{$npcType} { + @extend %display-inline-block; + } + } + + input[name='attr_sheet_type'][value='host'] ~ .sheet-npc .sheet-column:nth-of-type(2), + input[name='attr_sheet_type'][value='sprite'] ~ .sheet-npc .sheet-column:nth-of-type(1n+2) { + @extend %display-none; + } + + /* SHOW AND HIDE MAGIC AND RESONANCE SPECIFIC ATTRIBUTES BASED ON RADIO TOGGLE */ + input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-hide-magic, + input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-hide-resonance, + input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-grunt.sheet-hide-magic, + input[name='attr_flag_special'][value='mundane'] ~ div.sheet-npc .sheet-grunt.sheet-hide-resonance, + input[name='attr_flag_special'][value='resonance'] ~ div.sheet-npc .sheet-hide-magic, + input[name='attr_flag_special'][value='resonance'] ~ div.sheet-npc .sheet-grunt.sheet-hide-magic, + input[name='attr_flag_special'][value='magic'] ~ div.sheet-npc .sheet-hide-resonance, + input[name='attr_flag_special'][value='magic'] ~ div.sheet-npc .sheet-grunt.sheet-hide-resonance, + input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-attribute .sheet-settings.sheet-hide-magic, + input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-attribute .sheet-settings.sheet-hide-resonance, + input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body .sheet-settings.sheet-hide-magic, + input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body .sheet-settings.sheet-hide-resonance { + @extend %display-none; + } + + //- HIDE TEXT ROWS WHEN THE TEXTAREA IS EMPTY + input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body input[type='hidden'][value=''] + div.sheet-textrow { + @extend %display-none; + } + + + input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body input[type='hidden'][value=''] + div.sheet-rows.sheet-grunt { + @extend %display-none; + } + + //- HIDE PAIN TOLLERANCE FOR NPCS + input[name='attr_stats_toggle']:not([value='settings']) ~ div.sheet-body div.sheet-grunt.sheet-pain-tolerance { + display: none; + } + + //- HIDE SPECIALIZATION BUTTONS IF THERE IS NO SPECIALIZATION + input[name='attr_specialization'][value=''] ~ button[name*='specialization'], + input[name='attr_specialization'][value=' '] ~ button[name*='specialization'], + input[name='attr_specialization'][value=''] ~ div.sheet-row-long div.sheet-buttons button[name*='specialization'], + input[name='attr_specialization'][value=' '] ~ div.sheet-row-long div.sheet-buttons button[name*='specialization'] { + @extend %display-none; + } + + //- NPC WEAPONS HIDE REACH OR RECOIL/AMMO BASED ON THE SELECTED RANGE + input[name='attr_weapon_range'][value='range'] ~ div.sheet-settings h2[data-i18n='reach'], + input[name='attr_weapon_range'][value='range'] ~ div.sheet-settings label[data-i18n-title='reach'] { + @extend %display-none; + } + + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings h2[data-i18n='modes'], + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings h2[data-i18n='recoil'], + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings h2[data-i18n='ammo'], + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings label[data-i18n-title='modes'], + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings label[data-i18n-title='recoil'], + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings label[data-i18n-title='ammo'], + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings span { + @extend %display-none; + } + + //- NPC SPELLS HIDE COMBAT INFO IF NOT A COMBAT SPELL + input[name='attr_category']:not([value='Combat']) ~ h2[data-i18n='combat'], + input[name='attr_category']:not([value='Combat']) ~ h2[data-i18n='dam'] { + visibility: hidden; + } + + input[name='attr_category']:not([value='Combat']) ~ select[name='attr_combat_type'], + input[name='attr_category']:not([value='Combat']) ~ label[data-i18n-title='dam'] { + @extend %display-none; + } + + + //- SHOW AND HIDE MATRIX DEVICE + input[name='attr_flag_matrix'][value='matrix'] ~ div.sheet-matrix { + @extend %display-inline-block; + } + + %highlight-button { + background-color: $primary; + box-shadow : inset 0px 0px 3px 1px $accent; + color : $white; + } \ No newline at end of file diff --git a/Shadowrun4thEdition/src/scss/_npc.scss b/Shadowrun4thEdition/src/scss/_npc.scss new file mode 100644 index 0000000000..f1a2d1e6eb --- /dev/null +++ b/Shadowrun4thEdition/src/scss/_npc.scss @@ -0,0 +1,423 @@ +.sheet-npc { + border-radius : 3px; + min-height : 800px; + padding : 10px 10px; + width : 720px; + + button { + background: #333; + color: $white; + + &:hover, + &:focus { + border-color: $secondary; + color : $white; + font-weight : bold; + } + } + + h1 { + line-height: unset; + font-size: 1.1em; + } + + h2 { + font-size: 1em; + text-transform: capitalize; + } + + h3 { font-size: 0.85em; } + + input { + &[type='radio'] { opacity: 1; } + + &[type='text']:placeholder-shown, + &[type='number']:placeholder-shown { + border: 1px dotted $accent + } + + &.sheet-toggle:checked + span { color: $accent } + } + + textarea, select { + color : $white; + background-color: #555; + } + + div.sheet-tabs { + @extend %display-inline-grid; + grid-template-columns: 2.5em 1fr 4em 1fr 4em 1fr 4em 1fr 4em; + grid-row-gap: 10%; + + button[type='roll'] { + color: $blackish; + grid-area: 2 / 1 / 2 / 2; + } + + img { + grid-area: 1 / 1 / 2 / 4; + height: 100%; + width: 100% + } + + .sheet-switch { + input[type='checkbox'] + span { + position: absolute; + } + } + + h2, label { grid-row: 2;} + select { grid-column: 8 / 8;} + + input[name='attr_stats_toggle'], + input[name='attr_stats_toggle'] + span.sheet-pictos { + grid-area: 1 / 9 / 1 / 9; + position: relative; + width: 100%; + height: 100%; + } + + input[name='attr_stats_toggle']:checked + span { color: $accent } + span.sheet-pictos { + text-align: center; + font-size: 1.2em; + } + } + + div.sheet-rows { + margin-bottom: 1%; + width: 100%; + + button { + font-size: 1.1em; + text-align: left; + } + + h2 { + display: inline; + font-size: 1.1em; + line-height: unset; + font-weight: normal; + } + + h3 { display: inline; } + + input[type='number'] { width: 3em; } + + span.sheet-tiny-span { margin: 0px 1%; } + } + + /*:+:+:+: REPEATING SECTIONS :+:+:+:*/ + div.sheet-repeating { + button { margin: 0px; } + + h1 {display: inline;} + h2 { + font-variant: small-caps; + text-align : center; + text-decoration: underline; + } + + input[type='number'], input[type='text'] { width: 100%; } + + input[name='attr_flag'] { + @extend %settingsCheckboxes; + @extend %toggleCheckbox; + } + + div.repitem { + &:hover > input[name='attr_flag'] + span, + &:hover > input[name='attr_program_on'] + span { + opacity: 1; + } + + div.sheet-settings { + min-width: 700px; + } + } + } + + /*:+:+:+: NPC ATTRIBUTES :+:+:+:*/ + div.sheet-attribute { + border-bottom: 1px solid $white; + border-top : 1px solid $white; + grid-row-gap: 5%; + margin : 2% 0px; + padding: 1% 1% 3% 1%; + width : 100%; + + input[type='number'] { + text-align: center; + width: 100%; + } + + label { + text-align: center; + + &[data-i18n-title='modifier']{ input[type='number'] {width: 65%;} } + &[data-i18n-title='modifier']:before {content: '(';} + &[data-i18n-title='modifier']:after {content: ')';} + } + + h1 { + font-weight: normal; + grid-row: 1; + text-align: center; + } + + button { + grid-row: 1; + text-transform: capitalize; + } + + span { + font-size: 1.25em; + grid-row: 2; + text-align: center; + } + + span + label {grid-row: 3;} + label[data-i18n-title='modifier']{grid-row: 4;} + } + + /*:+:+:+: NPC BODY :+:+:+:*/ + div.sheet-mid { + @extend %display-inline-grid; + grid-template-columns: 52% 30% 1fr; + width: 100%; + + div.sheet-column { + @extend %display-inline-block; + width: 100%; + } + + span[name='attr_physical_limit']:after, + span[name='attr_mental_limit']:after { + content: ','; + } + } + + + /*:+:+:+: NPC TEXT BOXES AND REPEATING SECTIONS :+:+:+:*/ + div.sheet-end { + div.sheet-rows, div.sheet-textrow { width: 100% } + + /*:+:+:+: TEXT AREAS :+:+:+:*/ + div.sheet-textrow { + grid-column: 1 / 4; + + h1 { + display: inline; + line-height: unset; + margin-right: 1%; + } + + label { + width: 100%; + + &[data-i18n-title='initiate'], + &[data-i18n-title='submersion'] { + width: 4em; + + & input { width: 100%; } + } + } + } + + /*:+:+:+: REPEATING SECTIONS :+:+:+:*/ + div.sheet-repeating { grid-column: 1 / 4; } + + /*:+:+:+: NPC INLINE REPEAITNG SECTIONS SUCH AS SKILLS :+:+:+:*/ + div.sheet-inline-repeating { + div.repitem { + span[name*='attr_display_rating']:after { content: ','; } + } + + .sheet-full-row { + grid-column: 1 / 6; + } + + div.repcontainer { + display: inline; + max-width: 500px; + + .repitem, + .repcontrol { + display : inline-block; + vertical-align: top; + margin-bottom : 1%; + margin-right: 1%; + } + } + + div.sheet-settings { + grid-template-columns: 2fr 8em 8em 1fr 1fr; + grid-column-gap: 1%; + grid-row-gap: 0.5%; + + h2.sheet-full-row { + text-align: left; + } + + label.sheet-full-row { + input[type='text']{ text-align: left; } + } + } + } + + /*:+:+:+: WEAPONS :+:+:+:*/ + div.sheet-weapons { + input[name='attr_weapon_range'][value='range'] ~ div.sheet-settings { + grid-template-columns: 5em 3em 2fr 2fr 3em 3em 3em 1fr 3em 3em; + + label[data-i18n-title='notes'] { grid-column: 1 / 10 } + } + + input[name='attr_weapon_range'][value='melee'] ~ div.sheet-settings { + grid-template-columns: 5em 3em 2fr 2fr 3em 3em 3em 3em; + + label[data-i18n-title='notes'] { grid-column: 1 / 9 } + } + + div.sheet-settings { + grid-column-gap: 0.2%; + } + + span[name='attr_weapon_dice'] { + @extend %parantheseNumbers; + } + } + + /*:+:+:+: SPELLS :+:+:+:*/ + div.sheet-spells { + div.sheet-settings { + grid-column-gap: 0.2%; + grid-template-columns: 7em 3em 1fr 5em 5em 5em 3em 5em 3em; + } + + span[name='attr_dice'] { + @extend %parantheseNumbers; + } + + label[data-i18n-title='notes'] { grid-column: 1 / 10; } + } + + /*:+:+:+: COMPLEX FORMS :+:+:+:*/ + div.sheet-forms { + div.sheet-settings { + grid-column-gap: 0.2%; + grid-template-columns: 3em 1fr 7em 8em 3em; + } + + span[name='attr_form_dice'] { + margin-left: 3%; + @extend %parantheseNumbers; + } + + label[data-i18n-title='notes'] { grid-column: 1 / 6; } + } + + /*:+:+:+: IC :+:+:+:*/ + div.sheet-ic { + div.sheet-settings { + grid-column-gap: 0.2%; + grid-template-columns: 1fr 8em 8em 8em; + } + + span[name='attr_software_dice'] { + margin-left: 3%; + @extend %parantheseNumbers; + } + + label[data-i18n-title='notes'] { grid-column: 1 / 5; } + } + } + + /*:+:+:+: NPC MATRIX :+:+:+:*/ + div.sheet-matrix {width: 100%;} + + div.sheet-matrix-device { + margin-bottom: 5%; + + div.sheet-rows { + display: inline-grid; + grid-template-columns: 12em 45% 10em 1fr; + grid-row-gap: 5%; + + &:first-child { margin-bottom: 4%; } + } + + label { + width: 100%; + + input[type='text'] { + text-align: left; + width: 100%; + } + + &.sheet-round > input[type='number'] { + border-radius: 25px 25px; + height: 25px; + margin-left: 25%; + width: 25px; + } + } + + div.sheet-matrix-bubble { + background-color: transparent; + grid-column: 2 / 4; + height: 15px; + margin-left: 10%; + + /*:+:+:+: NPC MATRIX BUBBLES :+:+:+:*/ + input[type='radio'] { + height: 25px; + width : 20px; + left : 0px; + top: -115%; + + & + span { + border-radius: 5px; + height : 25px; + left : 5px; + width : 20px; + top: -60%; + } + } + } + + /*:+:+:+: NPC PROGRAMS :+:+:+:*/ + div.repcontainer { + grid-column: 1 / 6; + + h2[data-i18n='notes'] { grid-row: 3; } + label[data-i18n-title='notes'] { grid-row: 4; } + + + div.repitem { + display: inline-block; + width: 100%; + + button > span, span { opacity: 0.2; } + + input.sheet-toggle, + span.sheet-pictos { + position: absolute; + top: 2%; + } + + input[name='attr_program_on'] { + left: 2%; + + & + span { left: 2.5%;} + + &:checked ~ button > span, + &:checked ~ span { opacity: 1; } + } + + + button[type="roll"] { margin-left: 5% !important; } + } + } + } +} diff --git a/Shadowrun4thEdition/src/scss/_pc.scss b/Shadowrun4thEdition/src/scss/_pc.scss new file mode 100644 index 0000000000..1385173400 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/_pc.scss @@ -0,0 +1,1037 @@ +/***** PC ROWS & COLUMNS SETTINGS *****/ + .sheet-pc-row {margin-bottom: 10px;} + + .sheet-pc-col { + vertical-align: top; + width : calc(50% - 5px); + + &:first-child { + margin-right: 1.5%; + width : calc(50% - 10px); + } + } + + .sheet-row-long {border-bottom: 1px solid #000;} + .sheet-settings-row { + margin-top: 5px; + + select.sheet-skill-select {width: 29%;} + } + + + /***** VEHICLE *****/ + .sheet-vehicle-box .sheet-settings div, + .sheet-vehicle-box .sheet-display { + display: inline-block; + width : 100%;} + + .sheet-vehicle-box input[type='text'] { + width: 44%;} + + .sheet-vehicle-box label { + width: 20%;} + + .sheet-vehicle-box .sheet-row-long:first-child label { + width : 12%;} + + .sheet-vehicle-box label:nth-child(1n+4) { + text-align: right; + width : 21%;} + + /***** VEHICLE SETTING *****/ + .sheet-vehicle-box .sheet-settings h3 {margin-right: 2%;} + + .sheet-vehicle-box .sheet-settings h3:nth-child(1) { + margin-left: 18%; + margin-top : -5px;} + + .sheet-vehicle-box .sheet-settings h3:nth-child(4) {margin-left: 22%;} + .sheet-vehicle-box .sheet-settings h3:nth-child(6) {margin-right: 0px;} + + .sheet-vehicle-box .sheet-settings input[type='text'], + .sheet-vehicle-box .sheet-settings input[type='number'] { + border: none;} + + /***** VEHICLE DISPLAY *****/ + .sheet-vehicle-box .sheet-display-row { + text-align: left; + width : 49%;} + + .sheet-vehicle-box .sheet-display-row h3 { + width: 35%;} + + .sheet-vehicle-box .sheet-display-row div { + display : inline-block; + font-weight: normal; + text-align : center; + } + + .sheet-vehicle-box .sheet-display-row div.sheet-vehicle-stat { + width: 60%; + } + + .sheet-vehicle-box .sheet-collapsable {padding-left: 0.2em;} + +/***** HEADERS AND TRIANGLES *****/ + div.sheet-header { + display: inline-flex; + float: right; + height: 20px; + } + + div.sheet-triangle, + div.sheet-right-tri { + border-top: 20px solid transparent; + } + + div.sheet-triangle { + border-right: 30px solid $primary; + } + + div.sheet-right-tri { + border-left: 30px solid $primary; + } + + div.sheet-right-header { + margin-right: -8%; + float: left; + } + + +/***** BOXES FOR DIFFERENT PC SECTIONS *****/ + .sheet-pc-box { + background-color: #e7e6e5; + margin-left : 1.5px; + margin-right : 1.5px; + padding-left : 5px; + padding-right : 5px; + height: auto; + } + + .sheet-small-box { + min-height: 150px;} + + .sheet-medium-box { + min-height: 330px;} + + /***** CHARACTER PERSONAL DATA SECTION INPUTS *****/ + .sheet-pd-nam input[type='text'] {width: 66%;} + + .sheet-pd-meta input[type='text'] {width: 35.5%;} + + .sheet-pd-age input[type='text'] {width: 13%;} + + .sheet-pd-rep input[type='number'] { + border: none; + width : 13.5%;} + + .sheet-pd-kar input[type='number'], + .sheet-pd-kar input[type='text'] { + border: none; + width : 20%;} + + /***** CORE COMBAT INFO *****/ + .sheet-core-combat { + button[type='roll'] { + font-size : 0.9em; + text-align: left;} + + h2, h3 { margin-right: 0px; } + + button[name="roll_soak"] { + max-width: 27%; + + & > span { + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + } + } + } + + /***** PRIMARY WEAPON *****/ + .sheet-cc-row { + button { + &[type='roll'] { width: 40%; } + &[type='action'] { + font-family: fontello; + width : 5%; + } + + &[name*='primary_ammo'] { width: 10%; } + + &[type='action'] > span { + display: inline; + margin-left: 0px; + + &:before { content: 'x'; } /** The x# after ammo button **/ + } + + &[name*='shots'], + &[name='act_reload'], + &[name='act_primary_ammo'] { + border-bottom : 2px solid #666; + border-bottom-right-radius: 2px; + border-color : #aaa; + border-radius : 5px; + border-right : 3px solid #999; + border-style : outset; + @extend .sheet-pictos;} + + &[name*='shots_remove'] { + transform: rotate(180deg); + -ms-transform: rotate(180deg); /* IE 9 */ + -webkit-transform: rotate(180deg); /* Safari 3-8 */ + } + } + + button[type='roll'] > span, + h3 + span { + display : inline-block; + margin-left: 1%; + } + + /** Ammo display */ + span[name*='ammo'] { width : 4%; } + span[name*='ammo_max']:before { content: '/'; } + + span[name*='fired'] { font-size: 0.9em; } + } + +/***** ATTRIBUTE AND CONDITION MONITOR *****/ + /***** ATTRIBUTES BOX *****/ + .sheet-attr-box h3 {color: #000;} + + .sheet-attr-col { + display : inline-block; + margin-top : 15px; + vertical-align: top; + width : 48%; + + button { + &[type='roll'] { + border-bottom: 1px solid #000; + border-radius: 0px; + cursor : pointer; + font-size : 0.9em; + font-weight : bold; + margin-left : 0px; + padding-right: 2px; + text-align : right; + width : 30%; + } + + & > span {font-weight: bold;} + } + + input[type='number'] { + border-radius: 0px; + width : 23%; + font-weight: bold; + } + + input[type='text'] { width: 50%; } + + .sheet-totals { padding: 0px 2px;} + + &-left { margin-left: -7%; } + + &-right { + width: 50%; + + button[type='roll'] { + margin-right: 0px; + width : 55%; + } + + .sheet-attr-ini input[type='number'] { width: 17%; } + + label { + border-bottom: 1px solid #000; + font-size : 0.9em; + height : 22px; + text-align : right; + width : 55%; + } + + .sheet-attr-und { width: 43%; } + } + } + + .sheet-settings-toggle:checked ~ .sheet-attr-col-right button.sheet-attr-ini .sheet-init-settings {display: inline;} + + .sheet-attr-col-right button.sheet-attr-ini .sheet-init-settings, + .sheet-settings-toggle:checked ~ .sheet-attr-col-right button.sheet-attr-ini .sheet-init-display { + display: none;} + + + .sheet-attr-und { + border-bottom : 1px solid #000; + display : inline-block; + height : 22px; + margin-bottom : 4px; + vertical-align: top; + text-align: center; + width : 65%; + + .sheet-display { text-align: center; } + } + + .sheet-tiny-span {font-size: 0.75em;} + +/***** ATTRIBUTE LIMITS *****/ + .sheet-attr-lim { + margin-top: 20px; + + div { + display : inline-block; + height : 22px; + text-align: center; + width : 10%; + } + + input[type='number'] { width: 6%; } + label { width: auto; } + + span + span { margin-right: 1%; } + + .sheet-display {width: 100%;} + } + +/***** ATTRIBUTE AND CONDITION MONITOR SETTINGS TOGGLES *****/ + /***** ATTRIBUTE SETTINGS TOGGLE *****/ + .sheet-attr-box input.sheet-settings-toggle { + left: 98%; + + & + span { + font-size: 1em; + left: 94%; + top : 0px; + position: relative; + } + } + + /***** CONDITION SETTINGS TOGGLE *****/ + .sheet-condition-box input[type='checkbox'] { + left: -1%; + + & + span { + left: -4%; + position: relative; + } + } + + /***** CONDITION MONITOR SECTION *****/ + .sheet-con-track { + display : inline-block; + vertical-align: top; + width : 47%; + margin-top: 2%; + margin-bottom: 3%; + + button[type='action'] { + font-size : 1em; + font-weight : bold; + text-align: center; + padding: 1% 2%; + margin-left: 7%; + width : 100%; + } + } + + + /***** CONDITION MONITOR SETTINGS *****/ + .sheet-condition-box { + .sheet-display, + .sheet-settings { + margin-top: -10px; + } + + + .sheet-settings { + input { + border-bottom: 1px solid #000; + border-radius: 0px; + height : 22px; + margin-bottom: 5px; + } + + /***** CONDITION MONITOR DISPLAY*****/ + .sheet-con-footer { + margin-top : 0px; + text-indent: 10px; + + .sheet-attr-und { + display : inline-block; + margin-bottom: -5px; + text-align : center; + width : 60%; + } + } + } + } + + /***** CONDITION MONITOR SQUARES *****/ + .sheet-squares { + margin-left: 20%; + width : 70%; + + div { + background-color: transparent; + border-right : none; + left : 85%; + margin-bottom : -20px; + position : relative; + top : -15px; + } + + input[type='radio'], + span { + height: 45px; + width : 33%; + } + + input[type='radio'] { + clear : both; + left : 2px; + margin-right: -43px; + position : relative; + top : 6px; + } + + span { + background-color: $lightgray; + border-radius : 0px; + border : 2px solid $secondary; + box-shadow : inset 0px 0px 3px 1px $grayshadow; + display : inline-block; + margin-bottom : -25px; + margin-right : -7px; + } + } + + .sheet-squares input[type='radio']:checked ~ input[type='radio'] + span, + .sheet-con-track input[type='radio']:checked ~ .sheet-squares span, + .sheet-con-track input[type='hidden'][value='0'] ~ .sheet-squares span { + background-color: transparent;} + + /***** MAKE CONDTION SQUARES APPEAR & DISPPEAR *****/ + .sheet-hex-hider[value='8'] ~ input[type='radio']:nth-child(1n+19), + .sheet-hex-hider[value='9'] ~ input[type='radio']:nth-child(1n+21), + .sheet-hex-hider[value='10'] ~ input[type='radio']:nth-child(1n+24), + .sheet-hex-hider[value='11'] ~ input[type='radio']:nth-child(1n+26), + .sheet-hex-hider[value='12'] ~ input[type='radio']:nth-child(1n+28), + .sheet-hex-hider[value='13'] ~ input[type='radio']:nth-child(1n+32), + .sheet-hex-hider[value='14'] ~ input[type='radio']:nth-child(1n+34), + .sheet-hex-hider[value='15'] ~ input[type='radio']:nth-child(1n+36), + .sheet-hex-hider[value='16'] ~ input[type='radio']:nth-child(1n+38), + .sheet-hex-hider[value='17'] ~ input[type='radio']:nth-child(1n+40), + .sheet-hex-hider[value='18'] ~ input[type='radio']:nth-child(1n+42), + .sheet-hex-hider[value='8'] ~ div:nth-child(1n+19), + .sheet-hex-hider[value='9'] ~ div:nth-child(1n+24), + .sheet-hex-hider[value='10'] ~ div:nth-child(1n+24), + .sheet-hex-hider[value='11'] ~ div:nth-child(1n+24), + .sheet-hex-hider[value='12'] ~ div:nth-child(1n+30), + .sheet-hex-hider[value='13'] ~ div:nth-child(1n+30), + .sheet-hex-hider[value='14'] ~ div:nth-child(1n+30), + .sheet-hex-hider[value='15'] ~ div:nth-child(1n+38), + .sheet-hex-hider[value='16'] ~ div:nth-child(1n+38), + .sheet-hex-hider[value='17'] ~ div:nth-child(1n+38), + .sheet-hex-hider[value='18'] ~ div:nth-child(1n+48) { + display: none;} + + .sheet-hex-hider[value='8'] ~ input[type='radio']:nth-child(1n+19) + span, + .sheet-hex-hider[value='9'] ~ input[type='radio']:nth-child(1n+21) + span, + .sheet-hex-hider[value='10'] ~ input[type='radio']:nth-child(1n+24) + span, + .sheet-hex-hider[value='11'] ~ input[type='radio']:nth-child(1n+26) + span, + .sheet-hex-hider[value='12'] ~ input[type='radio']:nth-child(1n+28) + span, + .sheet-hex-hider[value='13'] ~ input[type='radio']:nth-child(1n+32) + span, + .sheet-hex-hider[value='14'] ~ input[type='radio']:nth-child(1n+34) + span, + .sheet-hex-hider[value='15'] ~ input[type='radio']:nth-child(1n+36) + span, + .sheet-hex-hider[value='16'] ~ input[type='radio']:nth-child(1n+38) + span, + .sheet-hex-hider[value='17'] ~ input[type='radio']:nth-child(1n+40) + span, + .sheet-hex-hider[value='18'] ~ input[type='radio']:nth-child(1n+42) + span { + opacity: 0;} + +/***** CONDITION MONITOR FOOTERS *****/ +.sheet-con-footer { + font-size : 0.8em; + margin-top: 10px; + + label { + margin-right: 5px; + width : auto; + } + + input[type='number'] { + border-bottom: 1px solid #000; + border-radius: 0px; + height : 22px; + margin-top : -5px; + } +} + +/***** REPEATING FIELDS FOR PC SECTIONS SUCH AS SKILLS *****/ +.sheet-repeat-box { + .sheet-medium-box { + height : auto; + min-height: 200px; + } + + h3 { + color : #000; + margin-bottom: -3px; + } + + button.sheet-pictos, + button.sheet-settings-button { + font-size: 1em; + position: absolute; + line-height: 1em; + } + + button.sheet-settings-button { left: 96%; } + + /***** REPEATING SECTION *****/ + .repitem { + display : inline-flex; + border-bottom: 1px solid #000; + width : 100%; + } + + /***** REPEATING SECTION TOGGLES *****/ + input.sheet-settings-toggle, + input.sheet-primary-flag + span { + position: absolute; + width : 13px; + } + + input.sheet-settings-toggle { + left: 98.5%; + + & + span { + left: 98.5%; + top : -2px; + width: 2%; + } + } + + /***** REPEATING BOX SECTION INPUTS *****/ + .sheet-settings { + input[type='text'] { + border-bottom: 1px solid #333; + border-radius: 0px; + + &:first-child { text-align: left; } + + } + + input[type='number'] { + border : none; + border-bottom: 1px solid #333; + border-radius: 0px; + width : 8%; + } + + label { + font-size : 0.8em; + margin-bottom: 0px; + } + } + + /***** REPEATING BOX DISPLAY *****/ + button[type='roll'], + button[type='action'] { + font-size: 0.9em; + color : #000; + } + + /***** REPEATING SECTION SELECTS *****/ + select { + color : #000; + font-size : 0.8em; + font-weight: bolder; + height : 20px; + padding : 0px; + width : 14%; + } + + option { + padding : 2px; + font-weight: bold; + } +} + +.sheet-rank { + display : inline-block; + text-align: center; + width : 10%; +} + +/***** COLLAPSABLE DIVS *****/ + .sheet-collapsable { + padding-left: 1.5em; + width : 100%; + word-break : break-word; + + span { white-space: pre-line; } + + .sheet-desc { + @extend %display-none; + + .sheet-display-flag:checked ~ & { @extend %display-inline; } + } + + .sheet-desc-lifestyle { + @extend %display-none; + + .sheet-display-flag:checked ~ & { + @extend %display-inline-block; + width: 100%; + } + } + } + + /***** DISPLAY FLAG FOR THE COLLAPSABLE DIVS *****/ + %display-flag { + opacity : 0; + position: absolute; + top : 0px; + width : 90%; + height : 100%; + } + + $displayFlags: 'quality-box', 'contacts', 'social-box', 'vehicle-box'; + @each $flag in $displayFlags { + .sheet-#{$flag} .sheet-display-flag { @extend %display-flag;} + } + + div.sheet-augs div.sheet-repeat-box { + .sheet-display-flag { @extend %display-flag;} + } + +/***** DISPLAY ROWS *****/ + .sheet-display-row { + display : inline-block; + overflow : hidden; + text-align : center; + vertical-align: top; + word-break : break-word; + + &:nth-of-type(1), + &:nth-of-type(1) button { + text-align : left; + } + } + +/***** DISPLAY & SETTINGS *****/ + .sheet-skills-row, + .sheet-lifestyle .sheet-settings div { + display: inline-block; + width : 100%; + } + + @each $box in 'contacts', 'item-box' { + .sheet-#{$box} .sheet-display, + .sheet-#{$box} .sheet-settings div { + @extend .sheet-skills-row; + } + } + + /***** MATRIX *****/ + .sheet-matrix { + select.sheet-skill-select { width: 26.5%; } + + input[name="attr_flag"] + span { position: absolute; } + + .sheet-con-hex { + margin-bottom: -10px; + margin-right : 0px; + margin-top : 5px; + position : unset; + width : 100%; + + input[type='radio']:first-child { + margin-right: -25%; + margin-top : 2%; + width : 25%; + } + + input[type='radio']:hover ~ h2 { + color : #fff; + text-shadow: 1px 1px 2px black, 0 0 25px $accent, 0 0 5px $secondary; + } + + h2 {vertical-align: top;} + } + } + + /***** CYBERDECK *****/ + .sheet-cyberdeck button { + font-weight: bold; + + input[name="attr_flag"] { + position: absolute; + + & + span { + position: absolute; + } + } + } + + .sheet-cyberdeck h3 { + line-height: 20px; + + &[data-i18n="total"] {margin-left: 15%;} + + &[data-i18n="temp"] { margin-left: 5%; } + + &[data-i18n="modifier"] { + margin-left: 2%; + margin-right: 2%; + } + + &[data-i18n="base"] { + margin-left : 0%; + margin-right: 15%; + } + } + + .sheet-cyberdeck input[type='number'] { + border : none; + border-bottom: 1px solid #333; + border-radius: 0px; + height: 20px; + width : 25px;} + + .sheet-cyberdeck .sheet-row-long:nth-of-type(1) input[type='text'] { + width : 90%;} + + .sheet-cyberdeck .sheet-row-long:nth-of-type(1n+3) label { + padding-bottom: 5px; + padding-right : 0px; + width : 15%;} + + .sheet-cyberdeck .sheet-row-long span { + margin-left : 1%; + margin-right: 1%;} + + /**** MATRIX BUBBLES ****/ + .sheet-pc .sheet-device-attr { + display: inline; + + span { + position: relative; + } + } + + .sheet-matrix-tot { + display: inline-block; + height : 20px; + width : 20px;} + + .sheet-matrix-bubble { + display : inline; + margin-left : 15px; + background-color: #222; + } + + .sheet-matrix-bubble span:nth-of-type(6), + .sheet-matrix-bubble input[type='radio']:nth-of-type(5n+6) { + margin-left: 2%;} + + .sheet-matrix-bubble input[type='radio'] { + height: 15px; + left : -8px; + width : 15px; + } + + .sheet-matrix-bubble input[type='radio'] + span { + border-radius: 3px; + display : inline-block; + height : 18px; + margin-left : -25px; + top : 4px; + width : 18px; + } + + .sheet-matrix-bubble input[type='radio']:checked ~ input[type='radio'] + span { + height : 14px; + margin-bottom: 3px; + opacity : 0.5;} + + .sheet-matrixAttack span { + border : 2px solid #3a0000; + background-color : #cc0701; + -webkit-box-shadow: inset 0px 1px 5px 2px #3a0000; + -moz-box-shadow : inset 0px 1px 5px 2px #3a0000; + box-shadow : inset 0px 1px 5px 2px #3a0000;} + + .sheet-matrixSleaze span { + border : 2px solid #000e3b; + background-color : #007bfc; + -webkit-box-shadow: inset 0px 1px 5px 2px #000e3b; + -moz-box-shadow : inset 0px 1px 5px 2px #000e3b; + box-shadow : inset 0px 1px 5px 2px #000e3b;} + + .sheet-matrixData span { + border : 2px solid #074202; + background-color : #88dd04; + -webkit-box-shadow: inset 0px 1px 5px 2px #074202; + -moz-box-shadow : inset 0px 1px 5px 2px #074202; + box-shadow : inset 0px 1px 5px 2px #074202;} + + .sheet-matrixFirewall span { + border : 2px solid #470101; + background-color : #f88703; + -webkit-box-shadow: inset 0px 1px 5px 2px #470101; + -moz-box-shadow : inset 0px 1px 5px 2px #470101; + box-shadow : inset 0px 1px 5px 2px #470101;} + + /***** Options Section *****/ + .sheet-options .sheet-pc-box { + min-height: 800px; + } + + .sheet-op-col { + display : inline-block; + vertical-align: top; + width : 48%;} + + .sheet-op-col {margin-bottom: 5px;} + + .sheet-op-col h2 { + text-decoration: underline; + width: 100%; + } + + .sheet-op-col button[name='act_import_launch'] { + border: 2px solid black; + background: #333; + color: white; + font-weight: bold; + width: auto; + height: auto; + padding: 2% 4% + } + + .sheet-op-col p { + margin-top: 2%; + margin-right: 5%; + } + + .sheet-op-col hr { + border : 0.5px solid #1c1c1c; + margin : 3px 0px; + opacity: 0.1;} + + .sheet-op-col label { + margin-bottom: 2%; + width : 55%;} + + .sheet-options input[type='checkbox'] { + height : 15px; + margin-left: 5%; + opacity : 1; + width : 15px;} + + /***** EDGE & MATRIX CONDITION HEXAGONS *****/ + .sheet-edg-hex, + .sheet-con-hex { + position: relative; + + .sheet-edg-hex input[type='checkbox'], + .sheet-con-hex input[type='radio'] { + height : 20px; + margin-right: -21px; + top : -9px; + width : 20px; + } + + } + + .sheet-edg-hex input[type='checkbox'], + .sheet-con-hex input[type='radio'] { + height : 20px; + margin-right: -21px; + top : -9px; + width : 20px; + opacity: 0; + z-index: 2; + position: relative; + } + + .sheet-hexagon { + display: inline-block; + margin: 5.77px 0; + position: relative; + background-color: #222; + height: 11.55px; + width: 20px; + } + + .sheet-hexagon:before, + .sheet-hexagon:after { + border-left : 10px solid transparent; + border-right: 10px solid transparent; + content : ''; + position : absolute; + width : 0;} + + .sheet-hexagon:before { + bottom : 100%; + border-bottom: 5.77px solid #222;} + + .sheet-hexagon:after { + top: 100%; + width: 0; + border-top: 5.77px solid #222;} + + .sheet-edg-hex input[type='checkbox']:checked ~ .sheet-hexagon, + .sheet-con-hex input[type='radio']:checked ~ .sheet-hexagon, + .sheet-edge-zero[value='0'] ~ .sheet-hexagon { + background-color: $lightgray;} + + .sheet-edg-hex input[type='checkbox']:checked ~ .sheet-hexagon:before, + .sheet-con-hex input[type='radio']:checked ~ .sheet-hexagon:before, + .sheet-edge-zero[value='0'] ~ .sheet-hexagon:before { + border-bottom-color: $lightgray;} + + .sheet-edg-hex input[type='checkbox']:checked ~ .sheet-hexagon:after, + .sheet-con-hex input[type='radio']:checked ~ .sheet-hexagon:after, + .sheet-edge-zero[value='0'] ~ .sheet-hexagon:after { + border-top-color: $lightgray;} + + .sheet-edg-hex input[type='checkbox']:checked + .sheet-hexagon, + .sheet-con-hex input[type='radio'] + .sheet-hexagon, + .sheet-con-hex input[type='radio']:checked + .sheet-hexagon { + background-color: #222;} + + .sheet-edg-hex input[type='checkbox']:checked + .sheet-hexagon:before, + .sheet-con-hex input[type='radio']:checked + .sheet-hexagon:before { + border-bottom-color: #222;} + + .sheet-edg-hex input[type='checkbox']:checked + .sheet-hexagon:after, + .sheet-con-hex input[type='radio']:checked + .sheet-hexagon:after { + border-top-color: #222;} + + /***** MAKE HEXES APPEAR & DISAPPEAR *****/ + .sheet-hex-hider[value='1'] ~ input[type='checkbox']:nth-child(1n+5), + .sheet-hex-hider[value='1'] ~ input[type='checkbox']:nth-child(1n+5) + span, + .sheet-hex-hider[value='2'] ~ input[type='checkbox']:nth-child(1n+7), + .sheet-hex-hider[value='2'] ~ input[type='checkbox']:nth-child(1n+7) + span, + .sheet-hex-hider[value='3'] ~ input[type='checkbox']:nth-child(1n+9), + .sheet-hex-hider[value='3'] ~ input[type='checkbox']:nth-child(1n+9) + span, + .sheet-hex-hider[value='4'] ~ input[type='checkbox']:nth-child(1n+11), + .sheet-hex-hider[value='4'] ~ input[type='checkbox']:nth-child(1n+11) + span, + .sheet-hex-hider[value='5'] ~ input[type='checkbox']:nth-child(1n+13), + .sheet-hex-hider[value='5'] ~ input[type='checkbox']:nth-child(1n+13) + span, + .sheet-hex-hider[value='6'] ~ input[type='checkbox']:nth-child(1n+15), + .sheet-hex-hider[value='6'] ~ input[type='checkbox']:nth-child(1n+15) + span, + .sheet-hex-hider[value='7'] ~ input[type='checkbox']:nth-child(1n+17), + .sheet-hex-hider[value='7'] ~ input[type='checkbox']:nth-child(1n+17) + span { + display: none;} + + + + .sheet-settings .sheet-textrow label {margin-bottom: 36px;} + + .sheet-augmentation div.sheet-display {text-indent: 125px;} + + .sheet-power div.sheet-display {text-indent: 65px;} + + /*:+:+:+: REPEATING SECTIONS :+:+:+:*/ + .sheet-repeating, + .sheet-repeat-section { + display:inline-block; + width : 100%;} + + .sheet-repeating button.sheet-display { + text-align: left;} + + .sheet-repeating input[type='checkbox'] { + width: 15px; + height: 15px;} + + .sheet-repeating label {padding: 0px;} + + .sheet-repeating .sheet-settings { + border-bottom: 1px dotted #FCD116;} + + .sheet-repeat-indent { + padding-left: 2.5em; + text-indent : -1.5em;} + + .sheet-repeating .sheet-display {display: inline-flex;} + + .sheet-repeat-section input { + height : 27px; + background-color: transparent; + border-bottom : 1px solid #fff; + border-radius : 0px;} + + .sheet-magic .sheet-repeat-section input[type='number'], + .sheet-magic .sheet-repeat-section input[type='text'], + .sheet-resonance .sheet-repeat-section input[type='number'], + .sheet-resonance .sheet-repeat-section input[type='text'] { + width: 100%;} + + .sheet-repeat-row { + display: inherit; + width : 5%;} + + .sheet-repeat-row-8 {width: 8%;} + .sheet-repeat-row-11 {width: 11%;} + .sheet-repeat-row-12 {width: 12%;} + .sheet-repeat-row-15 {width: 15%;} + .sheet-repeat-row-20 {width: 20%;} + + .sheet-repeat-row span {font-size: 0.8em;} + + .sheet-repeat-dice {font-size: 12px;} + + /*:+:+:+: NPC SPELLS :+:+:+:*/ + input.sheet-spell-toggle {margin: 0px -38px 0px 5px;} + + .sheet-magic .sheet-repeating select {width: 100%;} + + /*:+:+:+: HIDE SECTOINS WHEN NOT IN USE :+:+:+:*/ + .sheet-matrix, + .sheet-magic, + .sheet-resonance, + .sheet-optional, + .sheet-textboxes, + .sheet-optional-flag[value='0'] + .sheet-attr-header, + .sheet-category + div, + .sheet-category + div + div { + @extend %display-none; + } + + .sheet-optional-flag:not([value='0']) + .sheet-optional { + @extend %display-inline-block; + } + + .sheet-optional-flag:not([value='0']) + .sheet-textboxes { + display: inherit; + width: 100%; + } + + .sheet-category[value='Combat'] + div, + .sheet-category[value='Combat'] + div + div, + .sheet-character-type[value='matrix'] + .sheet-matrix { + display: inherit;} + + .sheet-category[value='Combat'] ~ .sheet-combat-type-hide {display: inline;} + + .sheet-character-type[value='magic'] + .sheet-magic-skill, + .sheet-character-type[value='magic'] + .sheet-magic-skill + .sheet-magic-skill, + .sheet-character-type[value='resonance'] + .sheet-resonance-skill { + opacity: 1;} + + .sheet-character-type[value='magic'] ~ .sheet-magic, + .sheet-character-type[value='magic'] ~ .sheet-magic + .sheet-magic, + .sheet-character-type[value='resonance'] ~ .sheet-resonance, + .sheet-character-type[value='resonance'] ~ .sheet-resonance + .sheet-resonance { + display: inline-block; + width: 100%;} diff --git a/Shadowrun4thEdition/src/scss/_repeatingsection.scss b/Shadowrun4thEdition/src/scss/_repeatingsection.scss new file mode 100644 index 0000000000..0d06f1e33d --- /dev/null +++ b/Shadowrun4thEdition/src/scss/_repeatingsection.scss @@ -0,0 +1,79 @@ + .repcontainer .repitem { + margin-bottom: 5px;} + + .repcontrol { + display : inline-block; + vertical-align: top; + min-height : 27px;} + + .repcontrol .btn { + background : none; + border : medium none; + box-shadow : none; + color : transparent !important; + display : inline-block; + font-size: 15px; + margin-left: 10px; + outline : 0; + padding : 0px 0px 0px 0px; + text-shadow: none; + width : 25px; + } + + .repcontrol .repcontrol_edit:after, + .repcontrol .repcontrol_add:after { + background-color: none; + color: #fff; + @extend .sheet-pictos; + font-size: 16px; + height: 12px; + padding: 2px 4px 2px 4px; + visibility: visible; + width: 12px; + } + + .repcontrol .repcontrol_edit:after { + content: '('; + @extend .sheet-pictos; + } + + .repcontrol .repcontrol_add:after { + content: '&'; + @extend .sheet-pictos; + } + + .editmode ~ .repcontrol .repcontrol_edit:after { + content: ')'; + @extend .sheet-pictos; + } + + .repcontrol .repcontrol_edit:after, + .repcontrol .repcontrol_add:after { + color : #000; + position: relative;} + + .sheet-npc .repcontrol .repcontrol_edit:after, + .sheet-npc .repcontrol .repcontrol_add:after { + color: $blackish; + } + + .repcontrol .repcontrol_edit:hover:after, + .repcontrol .repcontrol_add:hover:after { + color : $accent; + background-color: none; + } + + .itemcontrol {z-index: 10;} + + .itemcontrol .repcontrol_del, + .itemcontrol .repcontrol_move { + font-size : 10px; + height : 18px; + margin-top: 3px; + padding : 0px; + width : 18px;} + + .itemcontrol .repcontrol_del { + background-color: darkred; + @extend .sheet-pictos; + } \ No newline at end of file diff --git a/Shadowrun4thEdition/src/scss/_rolltemplate.scss b/Shadowrun4thEdition/src/scss/_rolltemplate.scss new file mode 100644 index 0000000000..91ec8ac4d9 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/_rolltemplate.scss @@ -0,0 +1,86 @@ + .sheet-rolltemplate-rolls div.sheet-template-body { + border : 2px solid $blacker !important; + border-radius: 3px 3px 3px 3px;} + + .sheet-rolltemplate-rolls .sheet-template-header { + background-color: $primary; + border : 1px solid $blacker; + border-bottom : 2px solid $blacker; + box-shadow : inset 0px 0px 3px 1px $blacker; + color : $blackish; + font-size : 1.5em; + font-variant : small-caps; + letter-spacing : 2px; + padding : 3px 0px 5px 0px; + text-align : center; + text-transform : capitalize; + font-weight: bold; + + h1 { + font-size: 0.8em; + color: $blackish; + line-height: 1em; + } + + span { + font-family : 'tahoma'; + font-size : 0.5em; + font-variant : normal; + letter-spacing: 1px; + } + } + + .sheet-rolltemplate-rolls .sheet-template-row { + color : $white; + text-align : center; + font-size : 18px; + background-color: $blackish; + box-shadow : inset 0px 0px 3px 1px $blacker; + line-height : 1.1em; + font-family : 'helvetica'; + padding : 5px 5px 3px 5px; + + &:nth-child(2n+0) { + background-color: #555; + } + + //Drain button + a[href^="~"] { + font-family: "dicefontd6"; + color: #1c1c1c;; + border: none; + box-shadow: outset 0px 0px 3px 1px $blacker; + font-size: 1.8em; + background: none !important; + padding: 1px; + color: $white; + text-shadow: $text-shadow-dark; + + &:hover, &:focus, &:active { + font-weight: bold; + color: $white; + text-shadow: $text-shadow-red; + } + } + } + + .sheet-rolltemplate-rolls .inlinerollresult { + display :inline-block; + color : $white; + font-size : 25px; + background-color: transparent; + border : none; + } + + .sheet-rolltemplate-rolls .inlinerollresult.fullfail, + .sheet-rolltemplate-rolls .inlinerollresult.fullcrit, + .sheet-rolltemplate-rolls .inlinerollresult.importantroll { + border: none;} + + .sheet-rolltemplate-rolls .inlinerollresult.fullfail {color: $primary;} + + .sheet-rolltemplate-rolls .inlinerollresult.fullcrit {color: $white;} + + .sheet-rolltemplate-rolls .sheet-template-desc {font-size: 0.8em;} + + .sheet-rolltemplate-rolls span.sheet-template-desc .inlinerollresult {font-size: 14px;} \ No newline at end of file diff --git a/Shadowrun4thEdition/src/scss/abstracts/_mixins.scss b/Shadowrun4thEdition/src/scss/abstracts/_mixins.scss new file mode 100644 index 0000000000..09e480816b --- /dev/null +++ b/Shadowrun4thEdition/src/scss/abstracts/_mixins.scss @@ -0,0 +1,26 @@ +@mixin repeatingInformation($endColumn, $longCollapseFlag) { + label[data-i18n-title='notes'], + h3[data-i18n='notes'], + div.sheet-collapse { + grid-column: 1 / #{$endColumn}; + } + + input.sheet-collapse-flag { + @if $longCollapseFlag { + grid-area: 1 / 1 / 1 / #{$endColumn - 1}; + position: absolute; + width: 100%; + } @else { + grid-area: 1 / #{$endColumn - 2} / 1 / #{$endColumn - 1}; + } + } + + input.sheet-collapse-flag + span.sheet-pictos { + grid-area: 1 / #{$endColumn - 2} / 1 / #{$endColumn - 1}; + } + + input.sheet-settings-flag, + input.sheet-settings-flag + span.sheet-pictos { + grid-area: 1 / #{$endColumn - 1} / 1 / #{$endColumn}; + } +} diff --git a/Shadowrun4thEdition/src/scss/abstracts/_variables.scss b/Shadowrun4thEdition/src/scss/abstracts/_variables.scss new file mode 100644 index 0000000000..1f5e61e7f8 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/abstracts/_variables.scss @@ -0,0 +1,27 @@ +//- Colors: + $primary: rgba(175,211,226,1); + $secondary: rgba(245,245,245,1); + $accent: #1e4583; + $lightgray: #9a9a9a; + $graytrans: rgba(28, 28, 28, 0.14902); + $grayshadow: #7c7c7c; + $blacker: #333; + $ccc: #cccccc; + //- GRAY IN ROLL TEMPLATE + $blackish: #1c1c1c; + //-(primaryly on the NPC sheet) + $gray: #555; + $white: #fff; + +$tabs:'arms', 'augs', 'core', 'gear', 'options', 'social', 'magic', 'matrix', 'vehicle'; +$characterTypes: 'npc', 'pc'; +$specialCharacters: 'magic', 'resonance'; +$npcTypes: 'grunt', 'host', 'sprite', 'vehicle'; + + + $text-shadow: 1px 1px 2px $gray, 0 0 25px $white, 0 0 5px $white; + $text-shadow-dark: 1px 1px 2px black, 0 0 25px #1c1c1c, 0 0 5px #1c1c1c; + $text-shadow-red: 1px 1px 2px black, 0 0 25px $primary, 0 0 5px $accent; + + $box-shadow: inset 0px 0px 3px 1px $grayshadow; + $box-shadow-red: inset 0px 0px 3px 1px $primary; \ No newline at end of file diff --git a/Shadowrun4thEdition/src/scss/base/_base.scss b/Shadowrun4thEdition/src/scss/base/_base.scss new file mode 100644 index 0000000000..1f2c730297 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/base/_base.scss @@ -0,0 +1,158 @@ + * { + box-sizing: border-box; + font-family: sans-serif; + } + + button { + background-image: none; + font-size : 0.8em; + text-shadow : none; + + &[type='roll'], + &[type='action'] { + font-size: 1em; + margin: 0px !important; + padding: 1px 2px; + + border: { + bottom : 0.01em solid #666; + bottom-right-radius: 0.01em; + color : hsl(0, 0%, 70%); + radius : 0.25em !important; + right : 0.02em solid hsl(0, 0%, 20%); + style : outset; + } + + &:hover, + &:focus, + &:active { + font-weight: bold; + background-color: $accent; + color: $white; + + & > span { + color: $white; + } + } + + &.sheet-pictos { + font-family: 'Pictos'; + } + } + + &:before { + display: none; + } + + & > span { + display: block; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + } + } + + div { + background-color: transparent; + } + + fieldset { + background: transparent; + } + + hr { + border: 0.5px solid #555; + } + + label { + display: inline-block; + font-size: 0.9em; + margin-bottom: 0px; + padding-right: 5px; + text-transform: capitalize; + width: auto;} + + input { + background-color: $graytrans; + color: $blacker; + border: none; + cursor: auto; + font-weight: normal; + margin: 0px; + text-align: center; + vertical-align: middle; + + &[type='text'], + &[type='number'] { + height : 20px; + + &:placeholder-shown { + border: 1px dotted $gray; + background-color: $graytrans; + color: white; + } + + &:hover, + &:focus { + background-color: $primary; + color: $blackish; + } + } + + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + } + + select { + border-radius: 2px; + border: 1px solid $blackish; + box-shadow: inset 0px 0px 3px 1px $grayshadow; + margin-bottom: 0px; + width: auto; + + &.sheet-attribute-select { + option:nth-of-type(1n+5) { color: $accent } + option:nth-of-type(1n+9) { color: $accent; } + } + + &.sheet-limit-select { + option:nth-of-type(1n+5) { color: $accent } + } + } + + span { + white-space: pre-line; + word-break: break-word; + } + + textarea { + border-radius: 2px; + border: 1px solid $blackish; + box-shadow: inset 0px 0px 3px 1px $grayshadow; + height: 50px; + overflow-wrap: break-word; + overflow: hidden; + resize: vertical; + vertical-align: top; + white-space: pre-line;} + + .charsheet { + background: $primary; + background: linear-gradient(90deg, rgba($primary,1) 0%, rgba(245,245,245,1) 17%, rgba(255,255,255,1) 78%, rgba($primary,1) 100%); + width: 850px; + box-shadow: inset 0px 0px 3px 1px $grayshadow; + color: $blacker; + } + + input[name='attr_stats_toggle'], + input[name='attr_stats_toggle'] + span { + position: relative; + } + + input[name='attr_stats_toggle'] { + opacity: 0; + z-index: 2; + } diff --git a/Shadowrun4thEdition/src/scss/base/_generic.scss b/Shadowrun4thEdition/src/scss/base/_generic.scss new file mode 100644 index 0000000000..6fbfb8c649 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/base/_generic.scss @@ -0,0 +1,9 @@ +.sheet-red { + color: $accent +} + +.sheet-eclipse { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/Shadowrun4thEdition/src/scss/base/_placeholders.scss b/Shadowrun4thEdition/src/scss/base/_placeholders.scss new file mode 100644 index 0000000000..f502b34916 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/base/_placeholders.scss @@ -0,0 +1,39 @@ +%gridGap { + grid-column-gap: 1%; + grid-row-gap: 1%; +} + + +%settingsCheckboxes { + & + span { opacity: 0; } + &:checked + span { opacity: 1; } + + &:checked ~ .sheet-settings { + display: inline-grid; + margin-bottom: 2%; + } +} + +%parantheseNumbers { + vertical-align: middle; + + &:before { content: '('; } + &:after { content: ')'; } +} + +%toggleCheckbox, +input.sheet-toggle { + position: absolute; + opacity: 0; + z-index: 2; +} + +%toggleRelative { + position: relative; + opacity: 0; + z-index: 2; +} + +%borderBottom { + border-bottom: 1px solid #333; +} diff --git a/Shadowrun4thEdition/src/scss/base/_typography.scss b/Shadowrun4thEdition/src/scss/base/_typography.scss new file mode 100644 index 0000000000..b6bb4d7b1e --- /dev/null +++ b/Shadowrun4thEdition/src/scss/base/_typography.scss @@ -0,0 +1,35 @@ + +.sheet-text-align-center, +.sheet-center { + text-align: center; +} + +.sheet-text-capitalize { + text-transform: capitalize; +} + +.sheet-text-left { + text-align: left; +} + +.sheet-pictos { + font-family: 'Pictos'; +} + +.sheet-pictos-custom, +span.sheet-pictos-custom { + font-family: 'Pictos Custom'; +} + +span.sheet-pictos3 { + font-family: 'Pictos Three'; +} + +span.sheet-d6 { + font-family: 'dicefontd6'; +} + +.sheet-font-bold { + font-weight: bold; +} + diff --git a/Shadowrun4thEdition/src/scss/components/_switch.scss b/Shadowrun4thEdition/src/scss/components/_switch.scss new file mode 100644 index 0000000000..2748ec4854 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/components/_switch.scss @@ -0,0 +1,56 @@ +/* The switch - the box around the slider */ +.sheet-switch { + position: relative; + display: inline-block; + width: 50px; + height: 24px; + + /* Hide default HTML checkbox */ + & input { + opacity: 0; + width: 0; + height: 0; + } +} + + +/* The slider */ +.sheet-slider { + -webkit-transition: .4s; + background-color: #ccc; + border-radius: 34px; + bottom: 0; + cursor: pointer; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: .4s; + + &:before { + -webkit-transition: .4s; + background-color: white; + border-radius: 50%; + bottom: 4px; + content: ""; + height: 16px; + left: 4px; + position: absolute; + transition: .4s; + width: 16px; + } +} + +input:checked + .sheet-slider { + background-color: $blackish; +} + +input:focus + .sheet-slider { + box-shadow: 0 0 1px $blackish; +} + +input:checked + .sheet-slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); +} \ No newline at end of file diff --git a/Shadowrun4thEdition/src/scss/components/_tabs.scss b/Shadowrun4thEdition/src/scss/components/_tabs.scss new file mode 100644 index 0000000000..70496f663f --- /dev/null +++ b/Shadowrun4thEdition/src/scss/components/_tabs.scss @@ -0,0 +1,41 @@ +.sheet-tabs { + button { + &[type='action'] { + box-shadow: inset 0px 0px 3px 1px $grayshadow; + color: $white; + } + + background-color: $blackish; + border-radius : 2px; + border : 1px solid #000; + font-size : 1em; + font-weight : bolder; + text-transform : capitalize; + padding : 5px; + + &.sheet-pictos { + text-transform: lowercase; + } + + &[type='roll'] { + background: none; + border: none; + font-family : 'dicefontd6'; + font-size : 2.5em; + vertical-align: top; + + &:hover { + text-shadow: 1px 1px 2px black, 0 0 25px $accent, 0 0 5px $grayshadow; + color: $white; + } + } + } + + h2 { + font-size: 1em; + text-transform: capitalize; + text-align: right; + line-height: 2em; + margin-right: 5%; + } +} \ No newline at end of file diff --git a/Shadowrun4thEdition/src/scss/layouts/_lang-fr.scss b/Shadowrun4thEdition/src/scss/layouts/_lang-fr.scss new file mode 100644 index 0000000000..70afe707e2 --- /dev/null +++ b/Shadowrun4thEdition/src/scss/layouts/_lang-fr.scss @@ -0,0 +1,31 @@ + .charsheet.lang-fr {} + .charsheet.lang-fr .sheet-tab-whisper, +.charsheet.lang-fr .sheet-tab-toggles { + margin-right: 2%;} + + .charsheet.lang-fr .sheet-tabs input[type='checkbox']:nth-of-type(2) { + width: 11%;} + + .charsheet.lang-fr .sheet-tab-col input[type='radio'] { + width: 4.5%;} + + .charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(4), +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(5), +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(6), +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(7) { + width: 6%;} + + .charsheet.lang-fr .sheet-tab-whisper input[type='radio'], +.charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(8), +.charsheet.lang-fr .sheet-tab-toggles input[type='checkbox']:nth-of-type(1) { + width: 8%;} + + .charsheet.lang-fr .sheet-tab-col input[type='radio']:nth-of-type(9) { + width: 2.5%;} + + .charsheet.lang-fr .sheet-pd-meta input[type='text'] { + width: 30%;} + + .charsheet.lang-fr .sheet-skill-box h3:first-child { + margin-right: 51%; + width: 20%;} \ No newline at end of file diff --git a/Shadowrun4thEdition/translation.json b/Shadowrun4thEdition/translation.json new file mode 100644 index 0000000000..8bc06e5421 --- /dev/null +++ b/Shadowrun4thEdition/translation.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "accel": "Accel", + "acceleration": "Acceleration", + "Acid": "Acid", + "Acid Protection": "Acid Protection", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "ammo": "Ammo", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "Cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + "cyberdeck": "Cyberdeck", + "Commlinks": "Commlinks", + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + "data_processing": "Data Processing", + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "Elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "electronicsgroup": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotic weapons are not linked to a skill. Use Modifier input to set dicepool", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "parachuting": "Parachuting", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance":"high pain tolerance", + "low pain tolerance":"low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep":"Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "Radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + "soak": "Soak", + "social": "Social", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked." + ,"character name":"character name" + ,"player name":"player name" + ,"walk modifier": "walk modifier" + ,"run modifier": "run modifier" + ,"movement modifier": "movement modifier" + ,"preperations": "preperations" + ,"force": "force" + ,"potency": "potency" + ,"trigger": "trigger" + ,"command": "command" + ,"contact": "contact" + ,"time":"time" + ,"adeptpowers": "Adept Powers or Other Abilities" + ,"whisper rolls to gm":"whisper rolls to gm" + ,"dodge":"Dodge" + ,"climbing":"Climbing" + ,"infiltration":"Infiltration" + ,"shadowing":"Shadowing" + ,"enchanting":"Enchanting" + ,"mechanicalgroup":"Mechanical Group" + ,"datasearch":"Data Search" + ,"pilotanthroform":"Pilot Anthroform" + ,"freefall": "Freefall" + ,"Initiative Passes":"Initiative Passes" + ,"ballistic":"Ballistic" + ,"impact":"Impact" + ,"Laser Protection":"Laser Protection" + ,"Gause Round Armor": "Gause Round Armor" + ,"Gause":"Gause" + ,"Laser":"Laser" + ,"Falling Protection": "Falling Protection" + ,"system":"system" + ,"os":"os" + ,"response":"response" + ,"signal":"signal" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/af.json b/Shadowrun4thEdition/translations/af.json new file mode 100644 index 0000000000..9cceae9f73 --- /dev/null +++ b/Shadowrun4thEdition/translations/af.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/cs.json b/Shadowrun4thEdition/translations/cs.json new file mode 100644 index 0000000000..9cceae9f73 --- /dev/null +++ b/Shadowrun4thEdition/translations/cs.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/da.json b/Shadowrun4thEdition/translations/da.json new file mode 100644 index 0000000000..9cceae9f73 --- /dev/null +++ b/Shadowrun4thEdition/translations/da.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/de.json b/Shadowrun4thEdition/translations/de.json new file mode 100644 index 0000000000..e0df70a470 --- /dev/null +++ b/Shadowrun4thEdition/translations/de.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemie", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/el.json b/Shadowrun4thEdition/translations/el.json new file mode 100644 index 0000000000..9cceae9f73 --- /dev/null +++ b/Shadowrun4thEdition/translations/el.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/en.json b/Shadowrun4thEdition/translations/en.json new file mode 100644 index 0000000000..666214b54a --- /dev/null +++ b/Shadowrun4thEdition/translations/en.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotic weapons are not linked to a skill. Use Modifier input to set dicepool", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/es.json b/Shadowrun4thEdition/translations/es.json new file mode 100644 index 0000000000..65a6c97823 --- /dev/null +++ b/Shadowrun4thEdition/translations/es.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Acelerar", + "acceleration": "Aceleración", + "acid": "Ácido", + "Acid Protection": "Protección del ácido", + "actinggroup": "Acting Group", + "active": "Activo/a", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Edad", + "agility": "Agilidad", + "alchemy": "Alquimia", + "ammo": "Munición", + "animalhandling": "Trato con animales", + "ap": "PA", + "arcana": "Arcana", + "Archery": "Tiro con arco", + "armor": "Armadura", + "armorer": "Armero", + "armorrating": "Armor Rating", + "arms": "Armas", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Ataque", + "attribute": "Atributo", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clavas", + "cold": "Frío", + "Cold Protection": "Protección del frío", + "combat": "Combate", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Tipo de combate", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Compostura", + "computer": "Ordenador", + "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": "Monitor de condición", + "conditionmonitorm": "Monitor de condición (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + "cyberdeck": "Ciberterminal", + "cybertechnology": "Cibertecnología", + "d6": "d6", + "dam": "Dam", + "damage": "Daño", + "damagetype": "Daño de combate", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dado", + "direct": "Directo", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Ecos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiqueta", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "f": "F", + "fa": "FA", + "fade": "Fade", + "fadevalue": "Fade Value", + "fakeid": "Fake ID", + "fakeidsrelated": "Fake IDs / Related Lifestyles / Funds / Licenses", + "far": "Lejos", + "favor": "Favor", + "file": "Archivo", + "fire": "Fuego", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Protección del fuego", + "firewall": "Cortafuegos", + "firstaid": "Primeros auxilios", + "flight": "Vuelo", + "forgery": "Falsificación", + "freefall": "Caída libre", + "funds": "Fondos", + "gear": "Equipo", + "gm": "Al MJ", + "gm-whisper": "Susurrar todas las tiradas al MJ", + "/w GM": "/w MJ", + "grunt": "Peón", + "gunnery": "Artillería", + "gymnastics": "Gimnasia", + "hacking": "Piratería informática", + "hand": "Mano", + "handling": "Manejo", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Salud", + "heavyweapons": "Armas pesadas", + "height-u": "Altura", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Ilusión", + "impersonation": "Suplantación", + "indirect": "Indirecto", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Iniciar", + "initiative": "Iniciativa", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instrucción", + "intimidation": "Intimidación", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuición", + "item": "Objeto", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Nivel", + "licenses": "Licencias", + "liftcarry": "Lift & Carry", + "limit": "Límite", + "limits": "Límites", + "locksmith": "Locksmith", + "logic": "Lógica", + "longarms": "Armas largas", + "los": "LDV", + "los (a)": "LOS (A)", + "loyalty": "Lealtad", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulación", + "martialarts": "Artes marciales", + "matrix": "Matriz", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicina", + "melee": "Cuerpo a cuerpo", + "memory": "Memoria", + "mental": "Mental", + "mental_limit": "Límite de la mente", + "mentallimit": "Límite de la mente:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Modo", + "model": "Modelo", + "modeoptions": "Opciones del modo", + "modes": "Modos", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Tolerancia al dolor", + "palming": "Escamotear", + "pc": "PJ", + "perception": "Percepción", + "performance": "Interpretación", + "permanent": "Permanente", + "persona": "Imagen", + "personal": "Datos personales", + "physical": "Physical", + "physical_limit": "Límite físico", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Jugador", + "plot": "Plot", + "power": "Poder", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Público", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Rango", + "ranged": "Ranged", + "rating": "Puntuación", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reacción", + "recoil": "Retroceso", + "registering": "Registrar", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sexo", + "shadowamps": "Shadow Amps", + "sheetdescription": "Selecciona el tipo de hoja por defecto.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Habilidad", + "skills": "Habilidades", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Hechicería", + "sorcerygroup": "Sorcery Group", + "special": "Especial", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Categoría", + "spells": "Hechizos", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Fuerza", + "stun": "Aturdir", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Estilo", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Supervivencia", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Flaqueza", + "weapon": "Arma", + "weapons": "Armas", + "weight": "Peso", + "whisper": "Whisper", + "whisperdescription": "Configurar las tiradas por defecto como públicas o para el mj.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "nombre del personaje", + "player name": "nombre del jugador", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "fuerza", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contacto", + "time": "tiempo", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/fr.json b/Shadowrun4thEdition/translations/fr.json new file mode 100644 index 0000000000..80d54e04cd --- /dev/null +++ b/Shadowrun4thEdition/translations/fr.json @@ -0,0 +1,402 @@ +{ + "a": "A", + "accel": "Accél", + "acceleration": "Accéleration", + "acid": "Acide", + "Acid Protection": "Protection contre l'acide", + "actinggroup": "Groupe Comédie", + "active": "Actif", + "aeronauticsmechanic": "Mécanicien aéronautique", + "age": "Âge", + "agility": "Agilité", + "alchemy": "Alchimie", + "ammo": "Munitions", + "animalhandling": "Dressage", + "ap": "PA", + "arcana": "Arcanes", + "Archery": "Armes de trait", + "armor": "Armure", + "armorer": "Armurier", + "armorrating": "Indice d'armure", + "arms": "Combat", + "artisan": "Artisan", + "assensing": "Observation astrale", + "astralcombat": "Combat Astral", + "astralini": "Init. astrale", + "astralinitiative": "Initiative Astrale", + "athleticsgroup": "Groupe Athlétisme", + "attack": "Attaque", + "attribute": "Attribut", + "attributearray": "Tableau d’attribut", + "attributes": "Attributs", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatiques", + "automotivemechanic": "Mécanique automobile", + "awakened": "Éveillé", + "b": "B", + "banishing": "Bannissement", + "base": "Base", + "baseslider": "Curseur de base", + "bf": "TR", + "binding": "Lien d'esprits", + "biotechgroup": "Groupe Biotech", + "biotechnology": "Biotechnologie", + "Blades": "Armes tranchantes", + "body": "Constitution", + "bonuses": "Bonus", + "c": "C", + "character": "Personnage", + "charisma": "Charisme", + "chemistry": "Chimie", + "close": "Mêlée", + "closecombatgroup": "Groupe Combat rapproché", + "clubs": "Armes contondantes", + "cold": "Froid", + "Cold Protection": "Protection contre le froid", + "combat": "Combat", + "combatskill": "Compétence de combat", + "combatskills": "Compétences de combat", + "combattype": "Type", + "compiling": "Compilation", + "complex form": "Forme complexe", + "composure": "Sang-froid", + "computer": "Informatique", + "con": "Escroquerie", + "conditionfooter": "Pour chaque 3 cases de dégâts sur n'importe quel moniteur de dégâts, le personnage prend un malus de -1 sur les tests; ces modificateurs sont cumulables au sein et entre les moniteurs de dégâts.", + "conditionmonitor": "Moniteur de condition", + "conditionmonitorm": "Moniteur de condition (M)", + "conditionmonitormodifiers": "Modificateurs de moniteur de condition (P/E)", + "conditionmonitorpm": "Moniteur de condition (P/M)", + "conditionmonitorps": "Moniteur de condition (P/E)", + "conjuring": "Conjuration", + "conjuringgroup": "Groupe Conjuration", + "connection": "Connexion", + "contacts": "Contacts", + "copyrightfooter": "The Topps Company, Inc. est le seul propriétaire des noms, logo, oeuvre, marques, photographies, sons, audio, vidéo et tout matériau breveté utilisé dans le cadre du jeu Shadowrun. The Topps Company, Inc. a accordé l’autorisation d’utiliser ces noms, logos, oeuvre, marques ou tout matériaux exclusifs à des fins promotionnelles et d’information sur son site Internet mais ne cautionne pas et n’est pas affilié à aucun titre officiel que ce soit.", + "core": "Feuille", + "corecombatinfo": "Principales infos de Combat", + "counterspelling": "Contresort", + "crackinggroup": "Groupe Piratage", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnologie", + "d6": "d6", + "dam": "Dég", + "damage": "Dégâts", + "damagetype": "Dégâts de combat", + "data_processing": "Traitement des données", + "dataproc": "Trait. Données", + "decompiling": "Décompilation", + "default": "Défausser", + "defense": "Défense", + "defense attribute": "Attributs de défence", + "defense matrix attribute": "Attributs de défence matricielle", + "demolitions": "Explosifs", + "detection": "Détection", + "device": "Appareil", + "devicerating": "Indice d'appareil", + "dice": "Dé", + "direct": "Direct", + "disenchanting": "Désenchantement", + "disguise": "Déguisement", + "diving": "Plongée", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Durée", + "e": "E", + "echos": "Échos", + "edge": "Chance", + "elec": "Elec.", + "Electrical Protection": "Protection contre l'életricité", + "Electronics Group": "Groupe Électronique", + "electronicwarfare": "Electronic Warfare", + "emerged": "Émergé", + "enchantinggroup": "Groupe Enchantement", + "engineeringgroup": "Groupe Ingénierie", + "escapeartist": "Évasion", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnie", + "etiquette": "Étiquette", + "exoticmelee": "Arme de mêlée exotique", + "exoticnote": "Les armes exotiques ne sont pas liés aux compétences. Utilisez l'entrée modificateur de dé pour paramétrer les dés de compétences.", + "exoticrange": "Arme à distance exotique", + "extended": "Étendu", + "f": "F", + "fa": "TA", + "fade": "Disparition", + "fadevalue": "Valeur de Disparition", + "fakeid": "Faux SIN", + "fakeidsrelated": "Faux SINs, styles de vie, fonds et permis associés", + "far": "Loin", + "favor": "Faveur", + "file": "Fichier", + "fire": "Feu", + "firearmsgroup": "Groupe Armes à feu", + "Fire Protection": "Protection contre le feu", + "firewall": "Firewall", + "firstaid": "Premiers soins", + "flight": "Vol", + "forgery": "Falsification", + "freefall": "Chute Libre", + "funds": "Fonds", + "gear": "Matos", + "gm": "Pour le MJ", + "gm-whisper": "Murmurer le Jet au MJ", + "/w GM": "/w MJ", + "grunt": "Brute", + "gunnery": "Artillerie", + "gymnastics": "Gymnastique", + "hacking": "Hacking", + "hand": "Main", + "handling": "Maniabilité", + "handoff": "Main (Off)", + "hardware": "Matériel électronique", + "health": "Santé", + "heavyweapons": "Armes lourdes", + "height-u": "Taille", + "host": "Serveur", + "host_rating": "Indice de serveur", + "i": "I", + "ic": "CI", + "ic limit": "Limite de CI", + "idslifestylecurrency": "IDs/Styles de vie/Argent", + "illusion": "Illusion", + "impersonation": "Imposture", + "indirect": "Indirect", + "industrialmechanic": "Mécanique industrielle", + "influencegroup": "Groupe Influence", + "initiate": "Initié", + "initiative": "Initiative", + "initiativedice": "Dé d'initiative", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Contre-mesures d’intrusion", + "intuition": "Intuition", + "item": "Objet", + "judgeintentions": "Jauger les intentions", + "karma": "Karma", + "know": "Conn..", + "knowledgeskills": "Compétences de connaissances", + "l": "L", + "lang": "Lang..", + "languageskills": "Compétences linguistiques", + "leadership": "Commandement", + "level": "Niveau", + "licenses": "Permis", + "liftcarry": "Soulever/Transporter", + "limit": "Limite", + "limits": "Limites", + "locksmith": "Serrurerie", + "logic": "Logique", + "longarms": "Fusils", + "los": "CDV", + "los (a)": "CDV (Z)", + "loyalty": "Loyauté", + "m": "M", + "magic": "Magie", + "magicalskill": "Compétence magique", + "magicalskills": "Compétences magiques", + "magicres": "Magie/Résonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Arts martiaux", + "matrix": "Matrice", + "matrixdevice": "Appareil matriciel", + "matrixinit": "Init. matricielle", + "matrixinitiative": "Initiative Matricielle", + "matrixsoak": "Encaissement matriciel", + "medicine": "Médecine", + "melee": "de mêlée", + "memory": "Mémoire", + "mental": "Mental", + "mental_limit": "Limite mentale", + "mentallimit": "Limite mentale", + "metamagic": "Métamagie", + "metatype": "Métatype", + "misc": "Divers", + "mode": "Mode", + "model": "Modèle", + "modeoptions": "Modes de tir", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modificateur", + "modifierdice": "Dé modificateur", + "modifiers": "Modificateurs", + "movement": "Déplacement", + "mundane": "Ordinaire", + "n": "N", + "name": "Nom", + "namealias": "Nom/Alias principal", + "nauticalmechanic": "Mécanique nautique", + "navigation": "Navigation", + "near": "Près", + "negotiation": "Négociation", + "none": "Aucun", + "notes": "Notes", + "notoriety": "Rumeur", + "nuyen": "Nuyen", + "options": "Options", + "other": "Autre", + "outdoorsgroup": "Groupe Plein air", + "overflow": "Surplus", + "overflowmodifier": "Modificateur de surplus", + "p": "P", + "high pain tolerance": "Endurance à la douleur", + "low pain tolerance": "Sensibilité à la douleur", + "damage compensators": "Compensateur de dommages (P/E)", + "paintolerance": "Tolérance à la douleur", + "palming": "Escamotage", + "pc": "PJ", + "perception": "Perception", + "performance": "Représentation", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Données personnelles", + "physical": "Physique", + "physical_limit": "Limite physique", + "physicalbonus": "Bonus physique", + "physicaldamagetrack": "Moniteur de dégâts physiques", + "physicallimit": "Limite physique", + "physicalskills": "Compétences physiques", + "pilot": "Autopilote", + "pilotaerospace": "Appareils spatiaux", + "pilotaircraft": "Appareils volants", + "pilotexoticvehicle": "Véhicule exotique", + "pilotgroundcraft": "Véhicules terrestres", + "pilotwalker": "Marcheurs", + "pilotwatercraft": "Véhicules aquatiques", + "pistols": "Pistolets", + "player": "Joueur", + "plot": "Complot", + "power": "Puissance", + "powers": "Pouvoirs", + "pr": "Indice professionnel", + "prep": "Prép...", + "primary": "Principale", + "primaryarmor": "Armure principale", + "primarylifestyle": "Style de vie principal", + "primarymeleeweapon": "Arme de mêlée principale", + "primaryrangedweapon": "Arme à distance principale", + "programs": "Programmes", + "projectileweapons": "Armes à projectiles", + "public": "Public", + "publicawareness": "Renommée", + "qualities": "Qualités", + "quality": "Qualité", + "quantity": "Quantité", + "r": "R", + "radi": "Ray.", + "Radiation Protection": "Protection contre les radiations", + "range": "Portée", + "ranged": "à distance", + "rating": "Indice", + "ratingmodifier": "Modificateur d'indice", + "rc": "CR", + "reach": "Allonge", + "reaction": "Réaction", + "recoil": "CR", + "registering": "Inscription", + "relatedlifestyle": "Styles de vies associés", + "resonance": "Résonance", + "resonanceskills": "Compétences de résonance", + "rituals": "Rituels", + "ritualspellcasting": "Magie rituelle", + "rtg": "IND", + "running": "Course", + "s": "S", + "sa": "SA", + "seat": "Siège", + "self": "Soi-même", + "sensor": "Senseurs", + "sex": "Sexe", + "shadowamps": "Implants", + "sheetdescription": "Définir le type de feuille par défaut.", + "sheetselect": "Sélection de la feuille", + "sheettype": "Type de feuille", + "skill": "Compétence", + "skills": "Compétences", + "sleaze": "Corruption", + "sneaking": "Discrétion", + "soak": "Encaisser", + "social": "Social", + "social_limit": "Limite sociale", + "sociallimit": "Limite sociale", + "socialskills": "Compétences sociales", + "software": "Logiciels", + "sorcery": "Sorcellerie", + "sorcerygroup": "Groupe Sorcellerie", + "special": "Spécial", + "specialization": "Spécialisation", + "speed": "Vitesse", + "speedoff": "Vitesse (Off)", + "spellcasting": "Lancement de sort", + "category": "Catégorie", + "spells": "Sorts", + "sprite": "Sprite", + "ss": "CC", + "stealthgroup": "Groupe Furtivité", + "streetcred": "Réputation", + "strength": "Force", + "stun": "Étourdissement", + "stunbonus": "Bonus étourdissant", + "stundamagetrack": "Moniteur de dégâts étourdissants", + "style": "Style", + "submersion": "Submersion", + "summoning": "Invocation", + "survival": "Survie", + "sustained": "Maintenu", + "swimming": "Natation", + "t": "C", + "t (a)": "C (Z)", + "target": "Cible", + "taskinggroup": "Groupe Technomancie", + "technicalskills": "Compétences techniques", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Modificateurs temporaires", + "throwingweapons": "Armes de jet", + "topps": "La Topps Company, Inc. a la propriété exclusive des noms, logos, illustrations, marques, photographies, sons, sons, audio, vidéo et/ou tout matériel exclusif utilisé en rapport avec le jeu Shadowrun. The Topps Company, Inc. a accordé la permission d'utiliser ces noms, logos, illustrations, marques et/ou tout matériel exclusif à des fins promotionnelles et informatives sur son site Web, mais n'endosse pas et n'est affilié à aucun titre officiel.", + "total": "Total ", + "totalkarma": "Karma total", + "tracking": "Pistage", + "type": "Type", + "unarmedcombat": "Combat à mains nues", + "vehicle": "Véhicule", + "vehicleskills": "Compétences de pilotage", + "vehicleweapons": "Armement de véhicule", + "w": "W", + "weakness": "Faiblesse", + "weapon": "Arme", + "weapons": "Armes", + "weight": "Poids", + "whisper": "Murmurer", + "whisperdescription": "Affectez la valeur par défaut pour lancer les dés en public ou au GM.", + "willpower": "Volonté", + "wounds": "Blessures", + "cancel": "Annuler", + "next": "Suivant", + "back": "Précédent", + "import": "Importer", + "importer": "Importateur", + "importecharacter": "Importer un personnage", + "apply": "Appliquer", + "importertext": "Vous pouvez importer un personnage avec un JSON de Chummer. Le propriétaire de la partie doit définir un Compendium dans les paramètres de la partie. Peu importe lequel vous choisissez. Le logiciel Charactermancer nécessite simplement d'en choisir un.", + "character name": "nom du personnage", + "player name": "nom du joueur", + "walk modifier": "modificateur de marche", + "run modifier": "modificateur de course", + "movement modifier": "modificateur de mouvement", + "preperations": "Préparations", + "force": "force", + "potency": "puissance", + "trigger": "déclencheur", + "command": "commandement", + "contact": "contact", + "time": "temps", + "adeptpowers": "Pouvoirs d'adepte ou autres capacités", + "whisper rolls to gm": "Murmurer le Jet au MJ" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/he.json b/Shadowrun4thEdition/translations/he.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/he.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/it.json b/Shadowrun4thEdition/translations/it.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/it.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/ja.json b/Shadowrun4thEdition/translations/ja.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/ja.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/ko.json b/Shadowrun4thEdition/translations/ko.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/ko.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/nl.json b/Shadowrun4thEdition/translations/nl.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/nl.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/pl.json b/Shadowrun4thEdition/translations/pl.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/pl.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/pt.json b/Shadowrun4thEdition/translations/pt.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/pt.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/ru.json b/Shadowrun4thEdition/translations/ru.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/ru.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/sv.json b/Shadowrun4thEdition/translations/sv.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/sv.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/tr.json b/Shadowrun4thEdition/translations/tr.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/tr.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/zh.json b/Shadowrun4thEdition/translations/zh.json new file mode 100644 index 0000000000..93f235ae8b --- /dev/null +++ b/Shadowrun4thEdition/translations/zh.json @@ -0,0 +1,403 @@ +{ + "a": "A", + "acc": "ACC", + "accel": "Accel", + "acceleration": "Acceleration", + "acid": "Acid", + "Acid Protection": "Acid Protection", + "actinggroup": "Acting Group", + "active": "Active", + "aeronauticsmechanic": "Aeronautics Mechanic", + "age": "Age", + "agility": "Agility", + "alchemy": "Alchemy", + "ammo": "Ammo", + "animalhandling": "Animal Handling", + "ap": "AP", + "arcana": "Arcana", + "archery": "Archery", + "armor": "Armor", + "armorer": "Armorer", + "armorrating": "Armor Rating", + "arms": "Arms", + "artisan": "Artisan", + "assensing": "Assensing", + "astralcombat": "Astral Combat", + "astralini": "Astral Ini", + "astralinitiative": "Astral Initiative", + "athleticsgroup": "Athletics Group", + "attack": "Attack", + "attribute": "Attribute", + "attributearray": "Attribute Array", + "attributes": "Attributes", + "augmentations": "Augmentations", + "augs": "Augs", + "automatics": "Automatics", + "automotivemechanic": "Automotive Mechanic", + "awakened": "Awakened", + "b": "B", + "banishing": "Banishing", + "base": "Base", + "baseslider": "Base slider", + "bf": "BF", + "binding": "Binding", + "biotechgroup": "Biotech Group", + "biotechnology": "Biotechnology", + "blades": "Blades", + "body": "Body", + "bonuses": "Bonuses", + "c": "C", + "character": "Character", + "charisma": "Charisma", + "chemistry": "Chemistry", + "close": "Close", + "closecombatgroup": "Close Combat Group", + "clubs": "Clubs", + "cold": "Cold", + "Cold Protection": "Cold Protection", + "combat": "Combat", + "combatskill": "Combat Skill", + "combatskills": "Combat Skills", + "combattype": "Combat Type", + "compiling": "Compiling", + "complex form": "Complex Form", + "composure": "Composure", + "computer": "Computer", + "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": "Condition Monitor", + "conditionmonitorm": "Condition Monitor (M)", + "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitorpm": "Condition Monitor (P/M)", + "conditionmonitorps": "Condition Monitor (P/S)", + "conjuring": "Conjuring", + "conjuringgroup": "Conjuring Group", + "connection": "Connection", + "contacts": "Contacts", + "copyrightfooter": "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.", + "core": "Core", + "corecombatinfo": "Core Combat Info", + "counterspelling": "Counterspelling", + "crackinggroup": "Cracking Group", + "cybercombat": "Cybercombat", + + "cybertechnology": "Cybertechnology", + "d6": "d6", + "dam": "Dam", + "damage": "Damage", + "damagetype": "Combat Damage", + + "dataproc": "Data Proc.", + "decompiling": "Decompiling", + "default": "Default a skill", + "defense": "Defense", + "defense attribute": "Defense Attribute", + "defense matrix attribute": "Defense Matrix Attribute", + "demolitions": "Demolitions", + "detection": "Detection", + "device": "Device", + "devicerating": "Device Rating", + "dice": "Dice", + "direct": "Direct", + "disenchanting": "Disenchanting", + "disguise": "Disguise", + "diving": "Diving", + "drain": "Drain", + "drain-2": "Drain 1", + "drone": "Drone", + "duration": "Duration", + "e": "E", + "echos": "Echos", + "edge": "Edge", + "elec": "Elec.", + "Electrical Protection": "Electrical Protection", + "Electronics Group": "Electronics Group", + "electronicwarfare": "Electronic Warfare", + "emerged": "Emerged", + "enchantinggroup": "Enchanting Group", + "engineeringgroup": "Engineering Group", + "escapeartist": "Escape Artist", + "ess": "Ess", + "essence": "Essence", + "ethnicity": "Ethnicity", + "etiquette": "Etiquette", + "exoticmelee": "Exotic Melee", + "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", + "exoticrange": "Exotic Range", + "extended": "Extended", + "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", + "firearmsgroup": "Firearms Group", + "Fire Protection": "Fire Protection", + "firewall": "Firewall", + "firstaid": "First Aid", + "flight": "Flight", + "forgery": "Forgery", + "freefall": "Free Fall", + "funds": "Funds", + "gear": "Gear", + "gm": "To GM", + "gm-whisper": "Whisper Roll to GM", + "/w GM": "/w GM", + "grunt": "Grunt", + "gunnery": "Gunnery", + "gymnastics": "Gymnastics", + "hacking": "Hacking", + "hand": "Hand", + "handling": "Handling", + "handoff": "Hand (Off)", + "hardware": "Hardware", + "health": "Health", + "heavyweapons": "Heavy Weapons", + "height-u": "Height", + "host": "Host", + "host_rating": "Host Rating", + "i": "I", + "ic": "IC", + "ic limit": "IC Limit", + "idslifestylecurrency": "IDs/Lifestyles/Currency", + "illusion": "Illusion", + "impersonation": "Impersonation", + "indirect": "Indirect", + "industrialmechanic": "Industrial Mechanic", + "influencegroup": "Influence Group", + "initiate": "Initiate", + "initiative": "Initiative", + "initiativedice": "Initiative Dice", + "instant": "Instant", + "instruction": "Instruction", + "intimidation": "Intimidation", + "intrusioncountermeasures": "Intrusion Countermeasures", + "intuition": "Intuition", + "item": "Item", + "judgeintentions": "Judge Intentions", + "karma": "Karma", + "know": "Know..", + "knowledgeskills": "Knowledge Skills", + "l": "L", + "lang": "Lang..", + "languageskills": "Language Skills", + "leadership": "Leadership", + "level": "Level", + "licenses": "Licenses", + "liftcarry": "Lift & Carry", + "limit": "Limit", + "limits": "Limits", + "locksmith": "Locksmith", + "logic": "Logic", + "longarms": "Longarms", + "los": "LOS", + "los (a)": "LOS (A)", + "loyalty": "Loyalty", + "m": "M", + "magic": "Magic", + "magicalskill": "Magical Skill", + "magicalskills": "Magical Skills", + "magicres": "Magic/Resonance", + "mana": "Mana", + "manipulation": "Manipulation", + "martialarts": "Martial Arts", + "matrix": "Matrix", + "matrixdevice": "Matrix Device", + "matrixinit": "Matrix Ini", + "matrixinitiative": "Matrix Initiative", + "matrixsoak": "Matrix Soak", + "medicine": "Medicine", + "melee": "Melee", + "memory": "Memory", + "mental": "Mental", + "mental_limit": "Mental Limit", + "mentallimit": "Mental Limit:", + "metamagic": "Metamagic", + "metatype": "Metatype", + "misc": "Misc", + "mode": "Mode", + "model": "Model", + "modeoptions": "Mode Options", + "modes": "Modes", + "modifications": "Modifications", + "modifier": "Modifier", + "modifierdice": "Modifier Dice", + "modifiers": "Modifiers", + "movement": "Movement", + "mundane": "Mundane", + "n": "N", + "name": "Name", + "namealias": "NAME/PRIMARY ALIAS", + "nauticalmechanic": "Nautical Mechanic", + "navigation": "Navigation", + "near": "Near", + "negotiation": "Negotiation", + "none": "None", + "notes": "Notes", + "notoriety": "Notoriety", + "nuyen": "Nuyen", + "options": "Options", + "other": "Other", + "outdoorsgroup": "Outdoors Group", + "overflow": "Overflow", + "overflowmodifier": "Overflow Modifier", + "p": "P", + "high pain tolerance": "high pain tolerance", + "low pain tolerance": "low pain tolerance", + "damage compensators": "Damage Compensators (P/S): ", + "paintolerance": "Pain Tolerance", + "palming": "Palming", + "pc": "PC", + "perception": "Perception", + "performance": "Performance", + "permanent": "Permanent", + "persona": "Persona", + "personal": "Personal Data", + "physical": "Physical", + "physical_limit": "Physical Limit", + "physicalbonus": "Physical Bonus", + "physicaldamagetrack": "Physical Damage Track", + "physicallimit": "Physical Limit:", + "physicalskills": "Physical Skills", + "pilot": "pilot", + "pilotaerospace": "Pilot Aerospace", + "pilotaircraft": "Pilot Aircraft", + "pilotexoticvehicle": "Pilot Exotic Vehicle", + "pilotgroundcraft": "Pilot Ground Craft", + "pilotwalker": "Pilot Walker", + "pilotwatercraft": "Pilot Watercraft", + "pistols": "Pistols", + "player": "Player", + "plot": "Plot", + "power": "Power", + "powers": "Powers", + "pr": "Professional Rating", + "prep": "Prep...", + "primary": "Primary", + "primaryarmor": "Primary Armor", + "primarylifestyle": "Primary Lifestyle", + "primarymeleeweapon": "Primary Melee Weapon", + "primaryrangedweapon": "Primary Ranged Weapon", + "programs": "Programs", + "projectileweapons": "Projectile Weapons", + "public": "Public", + "publicawareness": "Public Awereness", + "qualities": "Qualities", + "quality": "Quality", + "quantity": "Quantity", + "r": "R", + "radi": "Radi.", + "Radiation Protection": "Radiation Protection", + "range": "Range", + "ranged": "Ranged", + "rating": "Rating", + "ratingmodifier": "Rating Modifier", + "rc": "RC", + "reach": "Reach", + "reaction": "Reaction", + "recoil": "Recoil", + "registering": "Registering", + "relatedlifestyle": "Related Lifestyles", + "resonance": "Resonance", + "resonanceskills": "Resonance Skills", + "rituals": "Rituals", + "ritualspellcasting": "Ritual Spellcasting", + "rtg": "RTG", + "running": "Running", + "s": "S", + "sa": "SA", + "seat": "Seat", + "self": "Self", + "sensor": "Sensor", + "sex": "Sex", + "shadowamps": "Shadow Amps", + "sheetdescription": "Set the default sheet type.", + "sheetselect": "Sheet Select", + "sheettype": "Sheet Type", + "skill": "Skill", + "skills": "Skills", + + "sneaking": "Sneaking", + "soak": "Soak", + "social": "Social", + "social_limit": "Social Limit", + "sociallimit": "Social Limit: ", + "socialskills": "Social Skills", + "software": "Software", + "sorcery": "Sorcery", + "sorcerygroup": "Sorcery Group", + "special": "Special", + "specialization": "Specialization", + "speed": "Speed", + "speedoff": "Speed (Off)", + "spellcasting": "Spellcasting", + "category": "Category", + "spells": "Spells", + "sprite": "Sprite", + "ss": "SS", + "stealthgroup": "Stealth Group", + "streetcred": "Street Cred", + "strength": "Strength", + "stun": "Stun", + "stunbonus": "Stun Bonus", + "stundamagetrack": "Stun Damage Track", + "style": "Style", + "submersion": "Submersion", + "summoning": "Summoning", + "survival": "Survival", + "sustained": "Sustained", + "swimming": "Swimming", + "t": "T", + "t (a)": "T (A)", + "target": "Target", + "taskinggroup": "Tasking Group", + "technicalskills": "Technical Skills", + "technique": "Technique", + "temp": "Temp", + "temporarymodifiers": "Temporary Modifiers", + "throwingweapons": "Throwing Weapons", + "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", + "tracking": "Tracking", + "type": "Type", + "unarmedcombat": "Unarmed Combat", + "vehicle": "Vehicle", + "vehicleskills": "Vehicle Skills", + "vehicleweapons": "Vehicle Weapons", + "w": "W", + "weakness": "Weakness", + "weapon": "Weapon", + "weapons": "Weapons", + "weight": "Weight", + "whisper": "Whisper", + "whisperdescription": "Set the default for rolling in public or to gm.", + "willpower": "Willpower", + "wounds": "Wounds", + "cancel": "Cancel", + "next": "Next", + "back": "Back", + "import": "Import", + "importer": "Importer", + "importecharacter": "Import Character", + "apply": "Apply", + "importertext": "You can import a character with a JSON from Chummer. The game owner must set a Compendium in the Game Settings. It does not matter which one you pick. Charactermancer software simply requires one be picked.", + "character name": "character name", + "player name": "player name", + "walk modifier": "walk modifier", + "run modifier": "run modifier", + "movement modifier": "movement modifier", + "preperations": "preperations", + "force": "force", + "potency": "potency", + "trigger": "trigger", + "command": "command", + "contact": "contact", + "time": "time", + "adeptpowers": "Adept Powers or Other Abilities", + "whisper rolls to gm": "whisper rolls to gm" +} \ No newline at end of file diff --git a/Shadowrun4thEdition/translations/zu.json b/Shadowrun4thEdition/translations/zu.json new file mode 100644 index 0000000000..1eb0c993e6 --- /dev/null +++ b/Shadowrun4thEdition/translations/zu.json @@ -0,0 +1,402 @@ +{ + "a": "crwdns80950:0crwdne80950:0", + "acc": "crwdns80952:0crwdne80952:0", + "accel": "crwdns80954:0crwdne80954:0", + "acceleration": "crwdns80956:0crwdne80956:0", + "acid": "crwdns80958:0crwdne80958:0", + "Acid Protection": "crwdns80960:0crwdne80960:0", + "actinggroup": "crwdns80962:0crwdne80962:0", + "active": "crwdns80964:0crwdne80964:0", + "aeronauticsmechanic": "crwdns80966:0crwdne80966:0", + "age": "crwdns80968:0crwdne80968:0", + "agility": "crwdns80970:0crwdne80970:0", + "alchemy": "crwdns80972:0crwdne80972:0", + "ammo": "crwdns80974:0crwdne80974:0", + "animalhandling": "crwdns80976:0crwdne80976:0", + "ap": "crwdns80978:0crwdne80978:0", + "arcana": "crwdns80980:0crwdne80980:0", + "Archery": "crwdns80982:0crwdne80982:0", + "armor": "crwdns80984:0crwdne80984:0", + "armorer": "crwdns80986:0crwdne80986:0", + "armorrating": "crwdns80988:0crwdne80988:0", + "arms": "crwdns80990:0crwdne80990:0", + "artisan": "crwdns83328:0crwdne83328:0", + "assensing": "crwdns80992:0crwdne80992:0", + "astralcombat": "crwdns80994:0crwdne80994:0", + "astralini": "crwdns80996:0crwdne80996:0", + "astralinitiative": "crwdns80998:0crwdne80998:0", + "athleticsgroup": "crwdns81000:0crwdne81000:0", + "attack": "crwdns81002:0crwdne81002:0", + "attribute": "crwdns81004:0crwdne81004:0", + "attributearray": "crwdns81006:0crwdne81006:0", + "attributes": "crwdns81008:0crwdne81008:0", + "augmentations": "crwdns81010:0crwdne81010:0", + "augs": "crwdns81012:0crwdne81012:0", + "Automatics": "crwdns81014:0crwdne81014:0", + "automotivemechanic": "crwdns81016:0crwdne81016:0", + "awakened": "crwdns81018:0crwdne81018:0", + "b": "crwdns81020:0crwdne81020:0", + "banishing": "crwdns81022:0crwdne81022:0", + "base": "crwdns81024:0crwdne81024:0", + "baseslider": "crwdns81026:0crwdne81026:0", + "bf": "crwdns81028:0crwdne81028:0", + "binding": "crwdns81030:0crwdne81030:0", + "biotechgroup": "crwdns81032:0crwdne81032:0", + "biotechnology": "crwdns81034:0crwdne81034:0", + "Blades": "crwdns81036:0crwdne81036:0", + "body": "crwdns81038:0crwdne81038:0", + "bonuses": "crwdns81040:0crwdne81040:0", + "c": "crwdns81042:0crwdne81042:0", + "character": "crwdns81044:0crwdne81044:0", + "charisma": "crwdns81046:0crwdne81046:0", + "chemistry": "crwdns81048:0crwdne81048:0", + "close": "crwdns81050:0crwdne81050:0", + "closecombatgroup": "crwdns139526:0crwdne139526:0", + "clubs": "crwdns81054:0crwdne81054:0", + "cold": "crwdns81056:0crwdne81056:0", + "Cold Protection": "crwdns81058:0crwdne81058:0", + "combat": "crwdns81060:0crwdne81060:0", + "combatskill": "crwdns81062:0crwdne81062:0", + "combatskills": "crwdns81064:0crwdne81064:0", + "combattype": "crwdns81066:0crwdne81066:0", + "compiling": "crwdns81068:0crwdne81068:0", + "complex form": "crwdns138588:0crwdne138588:0", + "composure": "crwdns81072:0crwdne81072:0", + "computer": "crwdns81074:0crwdne81074:0", + "con": "crwdns81076:0crwdne81076:0", + "conditionfooter": "crwdns81078:0crwdne81078:0", + "conditionmonitor": "crwdns81080:0crwdne81080:0", + "conditionmonitorm": "crwdns81082:0crwdne81082:0", + "conditionmonitormodifiers": "crwdns81084:0crwdne81084:0", + "conditionmonitorpm": "crwdns81086:0crwdne81086:0", + "conditionmonitorps": "crwdns81088:0crwdne81088:0", + "conjuring": "crwdns81090:0crwdne81090:0", + "conjuringgroup": "crwdns81092:0crwdne81092:0", + "connection": "crwdns81094:0crwdne81094:0", + "contacts": "crwdns81096:0crwdne81096:0", + "copyrightfooter": "crwdns81098:0crwdne81098:0", + "core": "crwdns81100:0crwdne81100:0", + "corecombatinfo": "crwdns81102:0crwdne81102:0", + "counterspelling": "crwdns81104:0crwdne81104:0", + "crackinggroup": "crwdns81106:0crwdne81106:0", + "cybercombat": "crwdns81108:0crwdne81108:0", + "cyberdeck": "crwdns81110:0crwdne81110:0", + "cybertechnology": "crwdns81112:0crwdne81112:0", + "d6": "crwdns81114:0crwdne81114:0", + "dam": "crwdns81116:0crwdne81116:0", + "damage": "crwdns81118:0crwdne81118:0", + "damagetype": "crwdns81120:0crwdne81120:0", + "data_processing": "crwdns105558:0crwdne105558:0", + "dataproc": "crwdns81122:0crwdne81122:0", + "decompiling": "crwdns81126:0crwdne81126:0", + "default": "crwdns81128:0crwdne81128:0", + "defense": "crwdns81130:0crwdne81130:0", + "defense attribute": "crwdns130358:0crwdne130358:0", + "defense matrix attribute": "crwdns130360:0crwdne130360:0", + "demolitions": "crwdns81136:0crwdne81136:0", + "detection": "crwdns81138:0crwdne81138:0", + "device": "crwdns81140:0crwdne81140:0", + "devicerating": "crwdns81142:0crwdne81142:0", + "dice": "crwdns81144:0crwdne81144:0", + "direct": "crwdns81146:0crwdne81146:0", + "disenchanting": "crwdns81148:0crwdne81148:0", + "disguise": "crwdns81150:0crwdne81150:0", + "diving": "crwdns81152:0crwdne81152:0", + "drain": "crwdns81154:0crwdne81154:0", + "drain-2": "crwdns83330:0crwdne83330:0", + "drone": "crwdns82766:0crwdne82766:0", + "duration": "crwdns81156:0crwdne81156:0", + "e": "crwdns81158:0crwdne81158:0", + "echos": "crwdns81160:0crwdne81160:0", + "edge": "crwdns81162:0crwdne81162:0", + "elec": "crwdns81164:0crwdne81164:0", + "Electrical Protection": "crwdns81166:0crwdne81166:0", + "Electronics Group": "crwdns81168:0crwdne81168:0", + "electronicwarfare": "crwdns139868:0crwdne139868:0", + "emerged": "crwdns81172:0crwdne81172:0", + "enchantinggroup": "crwdns81174:0crwdne81174:0", + "engineeringgroup": "crwdns81176:0crwdne81176:0", + "escapeartist": "crwdns81178:0crwdne81178:0", + "ess": "crwdns81180:0crwdne81180:0", + "essence": "crwdns81182:0crwdne81182:0", + "ethnicity": "crwdns81184:0crwdne81184:0", + "etiquette": "crwdns81186:0crwdne81186:0", + "exoticmelee": "crwdns81188:0crwdne81188:0", + "exoticnote": "crwdns130610:0crwdne130610:0", + "exoticrange": "crwdns81192:0crwdne81192:0", + "extended": "crwdns81194:0crwdne81194:0", + "f": "crwdns81196:0crwdne81196:0", + "fa": "crwdns81198:0crwdne81198:0", + "fade": "crwdns81200:0crwdne81200:0", + "fadevalue": "crwdns81202:0crwdne81202:0", + "fakeid": "crwdns81204:0crwdne81204:0", + "fakeidsrelated": "crwdns81206:0crwdne81206:0", + "far": "crwdns81208:0crwdne81208:0", + "favor": "crwdns81210:0crwdne81210:0", + "file": "crwdns81212:0crwdne81212:0", + "fire": "crwdns81214:0crwdne81214:0", + "firearmsgroup": "crwdns139528:0crwdne139528:0", + "Fire Protection": "crwdns81218:0crwdne81218:0", + "firewall": "crwdns81220:0crwdne81220:0", + "firstaid": "crwdns81222:0crwdne81222:0", + "flight": "crwdns81224:0crwdne81224:0", + "forgery": "crwdns81226:0crwdne81226:0", + "freefall": "crwdns81228:0crwdne81228:0", + "funds": "crwdns81230:0crwdne81230:0", + "gear": "crwdns81232:0crwdne81232:0", + "gm": "crwdns81234:0crwdne81234:0", + "gm-whisper": "crwdns83332:0crwdne83332:0", + "/w GM": "crwdns130362:0crwdne130362:0", + "grunt": "crwdns82916:0crwdne82916:0", + "gunnery": "crwdns81238:0crwdne81238:0", + "gymnastics": "crwdns81240:0crwdne81240:0", + "hacking": "crwdns81242:0crwdne81242:0", + "hand": "crwdns81244:0crwdne81244:0", + "handling": "crwdns81246:0crwdne81246:0", + "handoff": "crwdns81248:0crwdne81248:0", + "hardware": "crwdns81250:0crwdne81250:0", + "health": "crwdns81252:0crwdne81252:0", + "heavyweapons": "crwdns81254:0crwdne81254:0", + "height-u": "crwdns82958:0crwdne82958:0", + "host": "crwdns81258:0crwdne81258:0", + "host_rating": "crwdns130364:0crwdne130364:0", + "i": "crwdns81262:0crwdne81262:0", + "ic": "crwdns81264:0crwdne81264:0", + "ic limit": "crwdns130366:0crwdne130366:0", + "idslifestylecurrency": "crwdns81268:0crwdne81268:0", + "illusion": "crwdns81270:0crwdne81270:0", + "impersonation": "crwdns81272:0crwdne81272:0", + "indirect": "crwdns81274:0crwdne81274:0", + "industrialmechanic": "crwdns81276:0crwdne81276:0", + "influencegroup": "crwdns81278:0crwdne81278:0", + "initiate": "crwdns81280:0crwdne81280:0", + "initiative": "crwdns81282:0crwdne81282:0", + "initiativedice": "crwdns81284:0crwdne81284:0", + "instant": "crwdns81286:0crwdne81286:0", + "instruction": "crwdns81288:0crwdne81288:0", + "intimidation": "crwdns81290:0crwdne81290:0", + "intrusioncountermeasures": "crwdns81292:0crwdne81292:0", + "intuition": "crwdns81294:0crwdne81294:0", + "item": "crwdns81296:0crwdne81296:0", + "judgeintentions": "crwdns81298:0crwdne81298:0", + "karma": "crwdns81300:0crwdne81300:0", + "know": "crwdns81302:0crwdne81302:0", + "knowledgeskills": "crwdns81304:0crwdne81304:0", + "l": "crwdns81306:0crwdne81306:0", + "lang": "crwdns81308:0crwdne81308:0", + "languageskills": "crwdns81310:0crwdne81310:0", + "leadership": "crwdns81312:0crwdne81312:0", + "level": "crwdns87972:0crwdne87972:0", + "licenses": "crwdns81316:0crwdne81316:0", + "liftcarry": "crwdns81318:0crwdne81318:0", + "limit": "crwdns105560:0crwdne105560:0", + "limits": "crwdns81320:0crwdne81320:0", + "locksmith": "crwdns81322:0crwdne81322:0", + "logic": "crwdns81324:0crwdne81324:0", + "longarms": "crwdns81326:0crwdne81326:0", + "los": "crwdns81328:0crwdne81328:0", + "los (a)": "crwdns130368:0crwdne130368:0", + "loyalty": "crwdns81332:0crwdne81332:0", + "m": "crwdns81334:0crwdne81334:0", + "magic": "crwdns81336:0crwdne81336:0", + "magicalskill": "crwdns81338:0crwdne81338:0", + "magicalskills": "crwdns139530:0crwdne139530:0", + "magicres": "crwdns81342:0crwdne81342:0", + "mana": "crwdns81344:0crwdne81344:0", + "manipulation": "crwdns81346:0crwdne81346:0", + "martialarts": "crwdns81348:0crwdne81348:0", + "matrix": "crwdns81350:0crwdne81350:0", + "matrixdevice": "crwdns81352:0crwdne81352:0", + "matrixinit": "crwdns81354:0crwdne81354:0", + "matrixinitiative": "crwdns81356:0crwdne81356:0", + "matrixsoak": "crwdns87974:0crwdne87974:0", + "medicine": "crwdns81358:0crwdne81358:0", + "melee": "crwdns81360:0crwdne81360:0", + "memory": "crwdns81362:0crwdne81362:0", + "mental": "crwdns81364:0crwdne81364:0", + "mental_limit": "crwdns105562:0crwdne105562:0", + "mentallimit": "crwdns81366:0crwdne81366:0", + "metamagic": "crwdns81368:0crwdne81368:0", + "metatype": "crwdns81370:0crwdne81370:0", + "misc": "crwdns81372:0crwdne81372:0", + "mode": "crwdns81374:0crwdne81374:0", + "model": "crwdns81376:0crwdne81376:0", + "modeoptions": "crwdns81378:0crwdne81378:0", + "modes": "crwdns81380:0crwdne81380:0", + "modifications": "crwdns81382:0crwdne81382:0", + "modifier": "crwdns81384:0crwdne81384:0", + "modifierdice": "crwdns81386:0crwdne81386:0", + "modifiers": "crwdns81388:0crwdne81388:0", + "movement": "crwdns81390:0crwdne81390:0", + "mundane": "crwdns81392:0crwdne81392:0", + "n": "crwdns81394:0crwdne81394:0", + "name": "crwdns81396:0crwdne81396:0", + "namealias": "crwdns81398:0crwdne81398:0", + "nauticalmechanic": "crwdns81400:0crwdne81400:0", + "navigation": "crwdns81402:0crwdne81402:0", + "near": "crwdns81404:0crwdne81404:0", + "negotiation": "crwdns81406:0crwdne81406:0", + "none": "crwdns87976:0crwdne87976:0", + "notes": "crwdns81408:0crwdne81408:0", + "notoriety": "crwdns81410:0crwdne81410:0", + "nuyen": "crwdns81412:0crwdne81412:0", + "options": "crwdns81414:0crwdne81414:0", + "other": "crwdns81416:0crwdne81416:0", + "outdoorsgroup": "crwdns81418:0crwdne81418:0", + "overflow": "crwdns81420:0crwdne81420:0", + "overflowmodifier": "crwdns81422:0crwdne81422:0", + "p": "crwdns81424:0crwdne81424:0", + "high pain tolerance": "crwdns138590:0crwdne138590:0", + "low pain tolerance": "crwdns138592:0crwdne138592:0", + "damage compensators": "crwdns138594:0crwdne138594:0", + "paintolerance": "crwdns81428:0crwdne81428:0", + "palming": "crwdns81430:0crwdne81430:0", + "pc": "crwdns81432:0crwdne81432:0", + "perception": "crwdns81434:0crwdne81434:0", + "performance": "crwdns81436:0crwdne81436:0", + "permanent": "crwdns81438:0crwdne81438:0", + "persona": "crwdns81440:0crwdne81440:0", + "personal": "crwdns81442:0crwdne81442:0", + "physical": "crwdns81444:0crwdne81444:0", + "physical_limit": "crwdns105564:0crwdne105564:0", + "physicalbonus": "crwdns81446:0crwdne81446:0", + "physicaldamagetrack": "crwdns81448:0crwdne81448:0", + "physicallimit": "crwdns81450:0crwdne81450:0", + "physicalskills": "crwdns81452:0crwdne81452:0", + "pilot": "crwdns81454:0crwdne81454:0", + "pilotaerospace": "crwdns81456:0crwdne81456:0", + "pilotaircraft": "crwdns81458:0crwdne81458:0", + "pilotexoticvehicle": "crwdns81460:0crwdne81460:0", + "pilotgroundcraft": "crwdns81462:0crwdne81462:0", + "pilotwalker": "crwdns81464:0crwdne81464:0", + "pilotwatercraft": "crwdns81466:0crwdne81466:0", + "pistols": "crwdns81468:0crwdne81468:0", + "player": "crwdns81470:0crwdne81470:0", + "plot": "crwdns81472:0crwdne81472:0", + "power": "crwdns81474:0crwdne81474:0", + "powers": "crwdns81476:0crwdne81476:0", + "pr": "crwdns84396:0crwdne84396:0", + "prep": "crwdns81478:0crwdne81478:0", + "primary": "crwdns81480:0crwdne81480:0", + "primaryarmor": "crwdns81482:0crwdne81482:0", + "primarylifestyle": "crwdns81484:0crwdne81484:0", + "primarymeleeweapon": "crwdns81486:0crwdne81486:0", + "primaryrangedweapon": "crwdns81488:0crwdne81488:0", + "programs": "crwdns81490:0crwdne81490:0", + "projectileweapons": "crwdns81492:0crwdne81492:0", + "public": "crwdns81494:0crwdne81494:0", + "publicawareness": "crwdns81496:0crwdne81496:0", + "qualities": "crwdns81498:0crwdne81498:0", + "quality": "crwdns81500:0crwdne81500:0", + "quantity": "crwdns130612:0crwdne130612:0", + "r": "crwdns81502:0crwdne81502:0", + "radi": "crwdns81504:0crwdne81504:0", + "range": "crwdns81508:0crwdne81508:0", + "ranged": "crwdns81510:0crwdne81510:0", + "rating": "crwdns81512:0crwdne81512:0", + "ratingmodifier": "crwdns81514:0crwdne81514:0", + "rc": "crwdns81516:0crwdne81516:0", + "reach": "crwdns81518:0crwdne81518:0", + "reaction": "crwdns81520:0crwdne81520:0", + "recoil": "crwdns81522:0crwdne81522:0", + "registering": "crwdns81524:0crwdne81524:0", + "relatedlifestyle": "crwdns81526:0crwdne81526:0", + "resonance": "crwdns81528:0crwdne81528:0", + "resonanceskills": "crwdns81530:0crwdne81530:0", + "rituals": "crwdns81532:0crwdne81532:0", + "ritualspellcasting": "crwdns81534:0crwdne81534:0", + "rtg": "crwdns81536:0crwdne81536:0", + "running": "crwdns81538:0crwdne81538:0", + "s": "crwdns81540:0crwdne81540:0", + "sa": "crwdns81542:0crwdne81542:0", + "seat": "crwdns81544:0crwdne81544:0", + "self": "crwdns81546:0crwdne81546:0", + "sensor": "crwdns81548:0crwdne81548:0", + "sex": "crwdns81550:0crwdne81550:0", + "shadowamps": "crwdns81552:0crwdne81552:0", + "sheetdescription": "crwdns81554:0crwdne81554:0", + "sheetselect": "crwdns81556:0crwdne81556:0", + "sheettype": "crwdns81558:0crwdne81558:0", + "skill": "crwdns81560:0crwdne81560:0", + "skills": "crwdns81562:0crwdne81562:0", + "sleaze": "crwdns81564:0crwdne81564:0", + "sneaking": "crwdns81566:0crwdne81566:0", + "soak": "crwdns81568:0crwdne81568:0", + "social": "crwdns81572:0crwdne81572:0", + "social_limit": "crwdns105566:0crwdne105566:0", + "sociallimit": "crwdns81574:0crwdne81574:0", + "socialskills": "crwdns81576:0crwdne81576:0", + "software": "crwdns81578:0crwdne81578:0", + "sorcery": "crwdns81580:0crwdne81580:0", + "sorcerygroup": "crwdns81582:0crwdne81582:0", + "special": "crwdns81584:0crwdne81584:0", + "specialization": "crwdns130614:0crwdne130614:0", + "speed": "crwdns81588:0crwdne81588:0", + "speedoff": "crwdns81590:0crwdne81590:0", + "spellcasting": "crwdns81592:0crwdne81592:0", + "category": "crwdns130372:0crwdne130372:0", + "spells": "crwdns81596:0crwdne81596:0", + "sprite": "crwdns81598:0crwdne81598:0", + "ss": "crwdns81600:0crwdne81600:0", + "stealthgroup": "crwdns81602:0crwdne81602:0", + "streetcred": "crwdns81604:0crwdne81604:0", + "strength": "crwdns81606:0crwdne81606:0", + "stun": "crwdns81608:0crwdne81608:0", + "stunbonus": "crwdns81610:0crwdne81610:0", + "stundamagetrack": "crwdns81612:0crwdne81612:0", + "style": "crwdns81614:0crwdne81614:0", + "submersion": "crwdns81616:0crwdne81616:0", + "summoning": "crwdns81618:0crwdne81618:0", + "survival": "crwdns81620:0crwdne81620:0", + "sustained": "crwdns81622:0crwdne81622:0", + "swimming": "crwdns81624:0crwdne81624:0", + "t": "crwdns81626:0crwdne81626:0", + "t (a)": "crwdns130374:0crwdne130374:0", + "target": "crwdns81630:0crwdne81630:0", + "taskinggroup": "crwdns81632:0crwdne81632:0", + "technicalskills": "crwdns81634:0crwdne81634:0", + "technique": "crwdns81636:0crwdne81636:0", + "temp": "crwdns81638:0crwdne81638:0", + "temporarymodifiers": "crwdns81640:0crwdne81640:0", + "throwingweapons": "crwdns81642:0crwdne81642:0", + "topps": "crwdns81644:0crwdne81644:0", + "total": "crwdns81646:0crwdne81646:0", + "totalkarma": "crwdns81648:0crwdne81648:0", + "tracking": "crwdns81650:0crwdne81650:0", + "type": "crwdns81652:0crwdne81652:0", + "unarmedcombat": "crwdns81654:0crwdne81654:0", + "vehicle": "crwdns81656:0crwdne81656:0", + "vehicleskills": "crwdns81658:0crwdne81658:0", + "vehicleweapons": "crwdns81660:0crwdne81660:0", + "w": "crwdns81662:0crwdne81662:0", + "weakness": "crwdns81664:0crwdne81664:0", + "weapon": "crwdns81666:0crwdne81666:0", + "weapons": "crwdns81668:0crwdne81668:0", + "weight": "crwdns81670:0crwdne81670:0", + "whisper": "crwdns83334:0crwdne83334:0", + "whisperdescription": "crwdns83336:0crwdne83336:0", + "willpower": "crwdns81672:0crwdne81672:0", + "wounds": "crwdns81674:0crwdne81674:0", + "cancel": "crwdns121770:0crwdne121770:0", + "next": "crwdns121772:0crwdne121772:0", + "back": "crwdns121774:0crwdne121774:0", + "import": "crwdns121776:0crwdne121776:0", + "importer": "crwdns121778:0crwdne121778:0", + "importecharacter": "crwdns121780:0crwdne121780:0", + "apply": "crwdns121782:0crwdne121782:0", + "importertext": "crwdns121784:0crwdne121784:0", + "character name": "crwdns130376:0crwdne130376:0", + "player name": "crwdns130378:0crwdne130378:0", + "walk modifier": "crwdns130380:0crwdne130380:0", + "run modifier": "crwdns130382:0crwdne130382:0", + "movement modifier": "crwdns130384:0crwdne130384:0", + "preperations": "crwdns130616:0crwdne130616:0", + "force": "crwdns130618:0crwdne130618:0", + "potency": "crwdns130620:0crwdne130620:0", + "trigger": "crwdns130622:0crwdne130622:0", + "command": "crwdns130624:0crwdne130624:0", + "contact": "crwdns130626:0crwdne130626:0", + "time": "crwdns130628:0crwdne130628:0", + "adeptpowers": "crwdns130630:0crwdne130630:0", + "whisper rolls to gm": "crwdns138596:0crwdne138596:0" +} \ No newline at end of file