- Add Luck button!

- Add button to add initiative to tracker
- Use tracker macro to reduce initiative for "Full Dodge" and Riposte
- Add button to adjust initiative for next combat phase
- Add Parry & Riposte buttons for each weapon
- Add Luck Re-Roll button when using the API
- Optimise grid spacings for FireFox
- Add translation to roll template
- Add translation order for selects options
- Add translations for roll queries
This commit is contained in:
David Maitland
2021-01-07 22:33:55 +00:00
parent 4fcd4bf17c
commit f9eb99f37e
6 changed files with 600 additions and 239 deletions
+123 -23
View File
@@ -18,7 +18,9 @@ input.sheet-has-collar-check[value="1"] ~ .sheet-emaciated .sheet-hunger-desc-le
.sheet-has-instinctive,
.sheet-has-moving-target,
.sheet-has-giant-genetics,
.sheet-tightening-the-belt {
.sheet-tightening-the-belt,
button.sheet-defense-roll,
button.sheet-luck-reroll {
display: none;
}
@@ -29,7 +31,9 @@ input.sheet-has-luck-stars-check[value="1"] ~ .sheet-has-luck-stars,
input.sheet-has-instinctive-check[value="1"] ~ .sheet-has-instinctive,
input.sheet-has-moving-target-check[value="1"] ~ .sheet-has-moving-target,
input.sheet-has-giant-genetics-check[value="1"] ~ .sheet-has-giant-genetics,
input.sheet-tightening-the-belt-check[value="1"] ~ .sheet-tightening-the-belt {
input.sheet-tightening-the-belt-check[value="1"] ~ .sheet-tightening-the-belt,
input.sheet-attack-defense-check[value="1"] ~ button.sheet-defense-roll,
input.sheet-api-use-check[value^="!"] ~ button.sheet-luck-reroll {
display: inline;
}
@@ -371,16 +375,20 @@ input[type=number].sheet-gear-cp {
.sheet-attack-head {
grid-area: attack-head;
display: flex;
background-color: #000000;
}
input.sheet-attack-cell,
select.sheet-attack-cell,
.sheet-attack-cell {
font-family: 'Blinker';
font-size: 14px;
font-size: 14px !important;
font-weight: bold;
}
.sheet-attack-head .sheet-table-head {
padding-right: 2px;
align-self: center;
}
.sheet-attack-weapon,
@@ -394,9 +402,13 @@ input[type=text].sheet-attack-skill {
width: 14%;
}
.sheet-attack-skill.sheet-brawl {
padding-left: 8px;
}
.sheet-attack-dc,
select.sheet-attack-dc {
width: 15%;
width: 7%;
padding-top: 2px;
}
@@ -404,11 +416,12 @@ select.sheet-attack-dc {
input[type=number].sheet-attack-cp,
input[type=text].sheet-attack-cp {
width: 4%;
text-align: center;
}
.sheet-attack-threshold,
input[type=number].sheet-attack-threshold {
width: 5%;
width: 6%;
}
.sheet-attack-threshold-h,
@@ -422,6 +435,7 @@ input[type=number].sheet-attack-threshold-q {
input[type=number].sheet-attack-ammo,
input[type=text].sheet-attack-ammo {
width: 4%;
text-align: center;
}
.sheet-attack-traits,
@@ -429,6 +443,18 @@ input[type=text].sheet-attack-traits {
width: 19%;
}
.sheet-table-head.sheet-attack-roll,
.sheet-table-head.sheet-parry-roll,
.sheet-table-head.sheet-riposte-roll {
padding-left: 12px;
}
.sheet-attack-roll,
.sheet-parry-roll,
.sheet-riposte-roll {
width: 5%;
}
/* ---------------- defense section --------------*/
.sheet-defense-button {
@@ -440,20 +466,68 @@ input[type=text].sheet-attack-traits {
grid-area: dodge-row;
grid-template-areas: "dodge-desc dodge-threshold dodge-threshold-h dodge-threshold-q"
}
/*
.sheet-dodge-threshold {
grid-area: dodge-threshold;
}
.sheet-dodge-threshold-h {
grid-area: dodge-threshold-h;
}
.sheet-dodge-threshold-q {
grid-area: dodge-threshold-q;
}
*/
.sheet-full-dodge-row {
grid-area: full-dodge-row;
grid-template-areas: "full-dodge-desc full-dodge-threshold full-dodge-threshold-h full-dodge-threshold-q"
}
.sheet-full-dodge-threshold {
grid-area: full-dodge-threshold;
}
.sheet-full-dodge-threshold-h {
grid-area: full-dodge-threshold-h;
}
.sheet-full-dodge-threshold-q {
grid-area: full-dodge-threshold-q;
}
.sheet-parry-row {
grid-area: parry-row;
grid-template-areas: "parry-desc parry-threshold parry-threshold-h parry-threshold-q"
/*grid-template-areas: "parry-desc parry-threshold parry-threshold-h parry-threshold-q"*/
grid-template-areas: "parry-desc parry-message parry-message parry-message"
}
.sheet-parry-desc { grid-area: parry-desc; }
.sheet-parry-message { grid-area: parry-message; }
.sheet-riposte-row {
grid-area: riposte-row;
grid-template-areas: "riposte-desc riposte-threshold riposte-threshold-h riposte-threshold-q"
/*grid-template-areas: "riposte-desc riposte-threshold riposte-threshold-h riposte-threshold-q"*/
grid-template-areas: "riposte-desc riposte-message riposte-message riposte-message"
}
.sheet-riposte-desc { grid-area: riposte-desc; }
.sheet-riposte-message { grid-area: riposte-message; }
.sheet-defense-message {
font-family: 'Blinker';
font-size: 14px;
text-align: center;
text-transform: uppercase;
justify-self: center;
color: #FFFFFF;
font-weight: normal !important;
line-height: 14px;
align-self: center;
}
.sheet-defense-footing {
font-size: 10px;
}
.sheet-defense-row {
@@ -475,7 +549,7 @@ input[type=number].sheet-fill {
.sheet-defense-head {
grid-area: defense-head;
display: grid;
grid-template-columns: 50% 17% 17% 16%;
grid-template-columns: 49% 18% 17% 16%;
grid-template-rows: auto;
grid-template-areas: "defense-col-head-1 defense-col-head-2 defense-col-head-3 defense-col-head-4"
}
@@ -571,7 +645,8 @@ input[type=number].sheet-shield-current {
grid-template-rows: 22.5px 1fr;
grid-template-areas: "armor-head"
"armor-row";
align-self: flex-start;
align-self: flex-start
margin-right: 5px;
}
.sheet-armor-head {
@@ -640,6 +715,7 @@ input[type=number].sheet-food-req {
font-size: 12px;
text-align: center;
margin-right: 5px;
margin-left: 2px;
}
.sheet-build-labels {
@@ -738,6 +814,11 @@ input[type=number].sheet-health-lozenge {
align-self: center;
}
.sheet-health-current-label {
grid-area: health-current-label;
top: -8px;
}
input[type=number].sheet-health-current {
width: 120px !important;
height: 70px !important;
@@ -775,6 +856,12 @@ input[type=number].sheet-health-current {
justify-self: center;
}
.sheet-init-next {
grid-area: init-next;
justify-self: center;
margin: 5px;
}
.sheet-init- {
align-self: center;
}
@@ -812,11 +899,12 @@ input[type=number].sheet-init- {
display: grid;
grid-area: initiative;
grid-template-columns: 32px 24px 24px 24px;
grid-template-rows: 38px 32px 10px 32px;
grid-template-rows: 38px 35px 10px 32px;
grid-template-areas: "init-labels init-labels init-labels init-labels"
"init init-5 init-10 init-15"
"init init-5-l init-10-l init-15-l"
"init-temp-label init-temp-label init-temp-label init-temp";
"init-temp-label init-temp-label init-temp-label init-temp"
"init-next init-next init-next init-next";
justify-self: end;
margin-left: 10px;
}
@@ -839,7 +927,6 @@ input[type=number].sheet-init- {
.sheet-save-resolve {
grid-area: save-resolve;
grid-template-areas: "resolve-labels resolve-labels"
"resolve-input resolve-input"
"resolve-h resolve-q"
@@ -860,7 +947,7 @@ input[type=number].sheet-init- {
.sheet-special-stat {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto;
grid-template-rows: 38px 30px 28px 32px;
justify-items: center;
align-items: end;
}
@@ -922,8 +1009,16 @@ input[type=number].sheet-init- {
grid-area: luck-label;
background-color: #000000;
text-align: center;
font-size: 22px;
text-transform: uppercase;
}
.sheet-luck-reroll {
grid-area: luck-reroll;
}
button.sheet-luck-button {
font-size: 18px !important;
width: 75%;
margin-top: 4px !important;
}
.sheet-luck-triangle {
@@ -947,6 +1042,8 @@ input[type=number].sheet-init- {
font-family: 'Blinker';
text-transform: uppercase;
line-height: 11px;
justify-self: center;
align-self: center;
}
.sheet-luck-input {
@@ -969,13 +1066,19 @@ input[type=number].sheet-init- {
font-size: 10px;
font-weight: bold;
position: relative;
top: -5px;
top: -2px;
}
.sheet-luck-base-label { grid-area: luck-base-label; justify-self: end; left: 4px;}
.sheet-luck-max-label { grid-area: luck-max-label; justify-self: center; top: -8px;}
.sheet-luck-max-label { grid-area: luck-max-label; justify-self: center; top: -9px;}
.sheet-luck-current-label { grid-area: luck-current-label; left: 4px;}
.sheet-roll-modifiers {
grid-area: roll-mod;
justify-self: center;
align-self: center;
}
.sheet-lozenge {
text-align:center;
border: 1px solid black;
@@ -1404,11 +1507,11 @@ input[type=number].sheet-table-cell {
"athletics-prof athletics-label . . archery-prof archery-label academics-prof academics-label crafting-prof crafting-label animalken-prof animalken-label blades-prof blades-label firearms-prof firearms-label"
"prof-desc prof-desc prof-desc prof-desc lockpick-prof lockpick-label mechanics-prof mechanics-label drive-prof drive-label charm-prof charm-label brawl-prof brawl-label heavyweapons-prof heavyweapons-label"
"prof-desc prof-desc prof-desc prof-desc palming-prof palming-label medicine-prof medicine-label navigation-prof navigation-label command-prof command-label clubs-prof clubs-label . ."
"prof-desc prof-desc prof-desc prof-desc stealth-prof stealth-label science-prof science-label perception-prof perception-label interrogate-prof interrogate-label . . . ."
"prof-desc prof-desc prof-desc prof-desc wrangle-prof wrangle-label techuse-prof techuse-label survival-prof survival-label intimidate-prof intimidate-label . luck-label luck-use-label luck-use-label"
"prof-desc prof-desc prof-desc prof-desc stealth-prof stealth-label science-prof science-label perception-prof perception-label interrogate-prof interrogate-label . luck-use-label luck-use-label luck-use-label"
"prof-desc prof-desc prof-desc prof-desc wrangle-prof wrangle-label techuse-prof techuse-label survival-prof survival-label intimidate-prof intimidate-label . luck-label . luck-reroll"
"lift-prof lift-label . . contort-prof contort-label remember-prof remember-label tracking-prof tracking-label . . . luck-input luck-max luck-current"
"pry-prof pry-label . . throw-prof throw-label . . xenotechuse-prof xenotechuse-label . . . luck-base-label luck-max-label luck-current-label"
". . . . . . . . . . . . roll-mod roll-mod roll-mod roll-mod";
". . . . . . . . . . roll-mod roll-mod roll-mod roll-mod roll-mod roll-mod";
}
@@ -1713,8 +1816,6 @@ input[type=number].sheet-table-cell {
.sheet-prof-code-m { grid-area: prof-code-m; }
.sheet-prof-desc-m { grid-area: prof-desc-m; }
.sheet-roll-modifiers { grid-area: roll-mod; }
.sheet-luck-max { grid-area: luck-max; }
.sheet-init-labels { grid-area: init-labels; }
@@ -1758,7 +1859,6 @@ input[type=number].sheet-table-cell {
.sheet-health-current { grid-area: health-current; }
.sheet-health-max-label { grid-area: health-max-label; }
.sheet-health-current-label { grid-area: health-current-label; }
.sheet-armor-col-head-1 { grid-area: armor-col-head-1; }
.sheet-armor-col-head-2 { grid-area: armor-col-head-2; }
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

After

Width:  |  Height:  |  Size: 269 KiB

+14
View File
@@ -21,11 +21,13 @@ Also see the API script which implements the logic to handle initiative tracking
- Tick the "Threshold modifier prompt on every roll" checkbox to specify misc. threshold modifer for subsequent rolls
- Drop down selections for archetypes, apocalypse & skill proficiencies
- Initiative includes modifiers from being encumbered, shaken, acute, starving & emaciated
- "Next Combat Phase" button to reduce initiative tracker value by 5 (See API script to do this automatically, track phase number & reset for new round)
- Temporary initiative modifier field for situational special ability effects
- Special Ability and Gear descriptions can be expanded/contracted to see the full text when needed
- Hunger conditions will highlight in red when active
- Starving condition will apply -10 modifier to base stats (modifier indicator will appear next to base stats)
- Structure deviations from core rulebook implemented to provide enough room for Special Ability and Gear descriptions
- Install Maximum Apocalypse API & tick the "Use API for rolls (Requires Pro Account)" checkbox to use "Re-Roll" button to re-roll & reduce luck uses
## Aspirational enhancements
- Default proficiency roll prompt to disadvantage for non-proficient skills
@@ -34,6 +36,18 @@ Also see the API script which implements the logic to handle initiative tracking
## Change Log
### January 7th 2021 v7.0
- Add Luck button!
- Add button to add initiative to tracker
- Use tracker macro to reduce initiative for "Full Dodge" and Riposte
- Add button to adjust initiative for next combat phase
- Add Parry & Riposte buttons for each weapon
- Add Luck Re-Roll button when using the API
- Optimise grid spacings for FireFox
- Add translation to roll template
- Add translation order for selects options
- Add translations for roll queries
### December 27th 2020 v6.0
- Added support to field calculations for specific special abilities:
- Collar
+1 -1
View File
@@ -4,5 +4,5 @@
"authors": "David Maitland",
"roll20userid": "994218",
"preview": "MaximumApocalypse.png",
"instructions": "* Automatically calculates all derived stats: half/quarter stats, special stats, build/repair table & encumbrance\r* Automatic calculations incorporate effects from following abilities: Collar, Faith, Giant Genetics, Instinctive, Luck Stars, Moving Target, Reflex, Tightening the Belt, Unreliable\r* Roll buttons for stats, skills, special stats, defenses, attacks & damage\r* Roll buttons query for 0-3 advantages/disadvantages & implement advantage/disadvantage effects\r* Roll template indicates level & degree of success\r* Sheet also has roll buttons for base stat actions & shows required food units\r* Tick the \"Threshold modifier prompt on every roll\" checkbox to specify misc. threshold modifer for subsequent rolls\r* Drop down selections for archetypes, apocalypse & skill proficiencies\r* Initiative includes modifiers from being encumbered, shaken, acute, starving & emaciated\r* Temporary initiative modifier field for situational special ability effects\r* Special Ability and Gear descriptions can be expanded/contracted to see the full text when needed\r* Hunger conditions will highlight in red when active\r* Starving condition will apply -10 modifier to base stats (modifier indicator will appear next to base stats)\r* Structure deviations from core rulebook implemented to provide enough room for Special Ability and Gear descriptions\r* If sheet is too wide/large setting browser zoom to 80% is a good alternate size\r\r[Sheet Readme](https://github.com/Roll20/roll20-character-sheets/blob/master/Maximum%20Apocalypse/README.md)."
"instructions": "* Automatically calculates all derived stats: half/quarter stats, special stats, build/repair table & encumbrance\r* Automatic calculations incorporate effects from following abilities: Collar, Faith, Giant Genetics, Instinctive, Luck Stars, Moving Target, Reflex, Tightening the Belt, Unreliable\r* Roll buttons for stats, skills, special stats, defenses, attacks & damage\r* Roll buttons query for 0-3 advantages/disadvantages & implement advantage/disadvantage effects\r* Roll template indicates level & degree of success\r* Sheet also has roll buttons for base stat actions & shows required food units\r* Tick the \"Threshold modifier prompt on every roll\" checkbox to specify misc. threshold modifer for subsequent rolls\r* Drop down selections for archetypes, apocalypse & skill proficiencies\r* Initiative includes modifiers from being encumbered, shaken, acute, starving & emaciated\r* "Next Combat Phase" button to reduce initiative tracker value by 5 (See API script to do this automatically, track phase number & reset for new round)\r* Temporary initiative modifier field for situational special ability effects\r* Special Ability and Gear descriptions can be expanded/contracted to see the full text when needed\r* Hunger conditions will highlight in red when active\r* Starving condition will apply -10 modifier to base stats (modifier indicator will appear next to base stats)\r* Structure deviations from core rulebook implemented to provide enough room for Special Ability and Gear descriptions\r* If sheet is too wide/large setting browser zoom to 80% is a good alternate size\r* Install Maximum Apocalypse API & tick the "Use API for rolls (Requires Pro Account)" checkbox to use "Re-Roll" button to re-roll & reduce luck uses\r\r[Sheet Readme](https://github.com/Roll20/roll20-character-sheets/blob/master/Maximum%20Apocalypse/README.md)."
}
+56 -2
View File
@@ -6,14 +6,19 @@
"age": "Age",
"agility": "Agility",
"alien_invasion": "Alien Invasion",
"amazing": "Amazing",
"amazing_success": "Amazing Success",
"ammo": "Ammo",
"animal_ken": "Animal Ken",
"apocalypses": "aliens,food_riots,kaiju,nuclear,oil-collapse,robots,seismic,horrors,rapture,time_paradox,zombies",
"archery": "Archery",
"archetypes": "firefighter,gunslinger,hunter,mechanic,priest,ronin,scientist,surgeon,thief,veteran",
"armor": "Armor",
"armor_piece": "Armor Piece",
"armor_points": "Armor Points",
"athletics": "Athletics",
"attack": "Attack",
"attack-skills": "archery,blades,brawl,bs,clubs,firearms,fs,heavy_weapons,wrangle",
"ballistic_skill": "Ballistic Skill",
"base_stat_perc": "Base Stat %",
"blades": "Blades",
@@ -31,10 +36,13 @@
"contort": "Contort",
"cp_costs": "CP Costs",
"crafting": "Crafting",
"critical_success": "Critical Success",
"critical_failure": "Critical Failure",
"current": "Current",
"damage": "Damage",
"dead": "Dead",
"defensive_actions": "Defensive Actions",
"degrees_of_success": "Degrees of Success",
"disadvantage_on_dodge": "Disadv. on Dodge",
"disadvantage_on_rolls": "Disadv. on Rolls",
"dodge": "Dodge",
@@ -43,6 +51,7 @@
"emaciated": "Emaciated",
"encumbrance": "Encumbrance",
"experience": "Experience",
"failure": "Failure",
"faith": "Faith",
"fighting_skill": "Fighting Skill",
"firearms": "Firearms",
@@ -54,6 +63,8 @@
"geriatric_60+": "Geriatric (60+)",
"gestation": "Gestation",
"giant_genetics": "Giant Genetics",
"great": "Great",
"great_success": "Great Success",
"gunslinger": "Gunslinger",
"heal": "Heal",
"health_points": "Health Points",
@@ -89,10 +100,15 @@
"moving_target": "Moving Target",
"navigation": "Navigation",
"na": "N/A",
"next_phase": "Next Phase",
"next_comat_phase": "Next Combat Phase",
"normal": "Normal",
"not_applicable": "N/A",
"not_proficient": "Not Proficient",
"nuclear_holocaust": "Nuclear Holocaust",
"one_per_4_cp": "1 per 4 CP",
"one_per_4_hp": "1 per 4 HP",
"outcome": "Outcome",
"palming": "Palming",
"parry": "Parry",
"peak_oil_collapse": "Peak Oil Collapse",
@@ -103,18 +119,24 @@
"primary_archetype": "Primary Archetype",
"prodromal": "Prodromal",
"proficiency_text": "Skills that are NOT PROFICIENT start as DISADVANTAGE and cannot have ADVANTAGE when rolled.",
"proficiency": "Proficiency",
"proficient": "Proficient",
"pry": "Pry",
"re-roll": "Re-Roll",
"reflex": "Relex",
"remember": "Remember",
"required_food": "Required Food",
"required_success": "Required Success",
"repair": "Repair",
"repair_skill": "Repair Skill",
"reroll_critical": "Re-Roll Critical",
"resilience": "Resilience",
"resolve": "Resolve",
"resolve_dmg": "Resolve DMG",
"result": "Result",
"riposte": "Riposte",
"robot_upraising": "Robot Uprising",
"roll": "Roll",
"ronin": "Ronin",
"salvage": "Salvage",
"science": "Science",
@@ -132,6 +154,8 @@
"starving": "Starving",
"stealth": "Stealth",
"strength": "Strength",
"success": "Success",
"success_targets": "Success Targets",
"superior_cp": "Superior CP",
"supernatural_horrors": "Supernatural Horrors",
"surgeon": "Surgeon",
@@ -155,14 +179,44 @@
"unarmed": "Unarmed",
"unnerved": "Unnerved",
"unused_xp": "Unused XP",
"use_per_game": "Use Per Game",
"use_api_text": "Use API for rolls (Requires Pro Account) ?",
"luck_use_per_game": "Luck Use Per Game",
"veteran": "Veteran",
"weapon": "Weapon",
"weapon_attacks": "Weapon Attacks",
"weapon_jammed": "WEAPON JAMMED",
"wrangle": "Wrangle",
"xenotech_use": "Xenotech Use",
"yes": "Y",
"youth_16-29": "Youth (16-29)",
"zombie_apocalypse": "Zombie Apocalypse",
"threshold_modifier_text": "Threshold modifier prompt on every roll ?"
"threshold_modifier_text": "Threshold modifier prompt on every roll ?",
"damage_code": "Damage Code",
"light": "Light",
"average": "Average",
"heavy": "Heavy",
"massive": "Massive",
"extreme": "Extreme",
"devastating": "Devastating",
"ferocious": "Ferocious",
"ruinous": "Ruinous",
"ruinous_light": "Ruinous + Light",
"ruinous_average": "Ruinous + Average",
"ruinous_heavy": "Ruinous + Heavy",
"ruinous_massive": "Ruinous + Massive",
"ruinous_extreme": "Ruinous + Extreme",
"ruinous_devastating": "Ruinous + Devastating",
"ruinous_ferocious": "Ruinous + Ferocious",
"ruinous_ruinous": "Ruinous + Ruinous",
"modifiers": "Modifiers",
"none": "None",
"advantages": "Advantage(s)",
"disadvantages": "Disadvantage(s)",
"1_advantage": "1 Advantage",
"1_disadvantage": "1 Disadvantage",
"2_advantages": "2 Advantages",
"2_disadvantages": "2 Disadvantages",
"3_advantages": "3 Advantages",
"3_disadvantages": "3 Disadvantages",
"see_weapon_attacks": "See Weapon Attacks"
}