diff --git a/Elemental/elemental.css b/Elemental/elemental.css new file mode 100644 index 0000000000..587652d1f1 --- /dev/null +++ b/Elemental/elemental.css @@ -0,0 +1,350 @@ +.sheet-container { + position:relative; + width: 800px; + background-color: black; + color: green; + position: relative; + display: inline-block; + border: 4px double gold; + border-radius:15px; + padding: 10px; +} + +.sheet-header { + padding-bottom: 10px; + border-bottom: 4px double gold; +} + +.sheet-tabs { + margin-top: 10px; + position: relative; + width: 800px; } + .sheet-tabs::after { + clear: both; + content: ''; + display: block; } + .sheet-tabs .sheet-tab { + width: 800px; } + .sheet-tabs .sheet-tab:nth-of-type(2) > input[type="radio"], .sheet-tabs .sheet-tab:nth-of-type(2) > .sheet-tab-label { + margin-left: 20%; } + .sheet-tabs .sheet-tab:nth-of-type(3) > input[type="radio"], .sheet-tabs .sheet-tab:nth-of-type(3) > .sheet-tab-label { + margin-left: 40%; } + .sheet-tabs .sheet-tab:nth-of-type(4) > input[type="radio"], .sheet-tabs .sheet-tab:nth-of-type(4) > .sheet-tab-label { + margin-left: 60%; } + .sheet-tabs .sheet-tab:nth-of-type(5) > input[type="radio"], .sheet-tabs .sheet-tab:nth-of-type(5) > .sheet-tab-label { + margin-left: 80%; } + .sheet-tabs .sheet-tab > input[type="radio"] { + height: 30px; + margin: 0; + opacity: 0; + position: absolute; + top: 0; + width: 20%; + z-index: 1; } + + .sheet-tabs .sheet-tab > input[type="radio"]:hover ~ .sheet-tab-label { + background: #111111; + color: white; + border-bottom-color: gold; + } + + .sheet-tabs .sheet-tab > .sheet-tab-label { + align-items: center; + background: #555555; + border-radius: 6px 6px 0 0; + border: 2px solid gold; + color: white; + display: flex; + font-size: 11px; + font-variant: small-caps; + font-weight: bold; + height: 30px; + justify-content: center; + margin: 0; + position: absolute; + text-transform: uppercase; + top: 0; + width: 20%; + border-left-color: gold; + border-top-color: gold; + border-right-color: gold; + border-bottom-color: gold; + } + + .sheet-tabs .sheet-tab > input[type="radio"]:checked ~ .sheet-tab-label { + background: black; + border-color: gold; + border-bottom-color: black; + color: green; + } + + .sheet-tabs .sheet-tab > input[type="radio"]:checked { + cursor: auto; } + .sheet-tabs .sheet-tab > input[type="radio"]:checked ~ .sheet-tab-content { + display: block; + } + + .sheet-tabs .sheet-tab .sheet-tab-content { + display: none; + min-height: 300px; + padding-top: 32px; + width: 100%; + z-index: 10; + } + + .sheet-content { + padding: 5px; + border: 2px solid gold; + border-radius: 0 10px 10px 10px; + min-height:300px; + } + +.sheet-label { + float: left; + width: 50px; + color: white; + font-weight:bold; + font-size: 12px; + height: 12px; +} + +.sheet-input { + float: left; + width: calc(100% - 75px); +} + +.sheet-heading { + font-size: 1.5em; + font-weight:bold; + border:0px; + border-radius:0px; + font-variant: small-caps; +} + +.sheet-smallblock { + margin: 5px; + float: left; +} +.sheet-block { + background: #333333; + border-radius:15px; + border: 1px solid gold; + padding: 5px; + color: lightgrey; + min-height: 50px; + text-align: center; +} + +.sheet-block input { + font-size: 12px; + line-height:15px; + height: 15px; + margin-bottom:5px; +} + +.sheet-block select { + font-size: 12px; + line-height:15px; + height: 15px; + margin-bottom:5px; + padding: 0; +} + +.sheet-block option:disabled { + font-weight: bold; +} + +/* Hide actual radio */ +.sheet-block input[type="radio"] { + opacity: 0; + width: 16px; + height: 16px; + position: relative; + top: 5px; + left: 6px; + margin: -10px; + cursor: pointer; + z-index: 1; +} + +/* Fake radio */ +.sheet-block input[type="radio"] + span::before { + margin-right: 4px; + border: solid 1px #a8a8a8; + line-height: 14px; + text-align: center; + display: inline-block; + vertical-align: middle; + box-shadow: 0 0 2px #ccc; + background: #f6f6f6; + background: radial-gradient(black, black); + content: "•"; + width: 12px; + height: 12px; + font-size: 24px; + border-radius: 50%; +} + +/* Remove dot from all radios _after_ selected one */ +.sheet-block input[type="radio"]:checked ~ input[type="radio"] + span::before { + content: ""; +} + +table.sheet-xp { + width: 250px; +} +table.sheet-xp th{ + text-align: center; + font-weight:bold; + border:1px solid gold; + border-radius:15px; +} +table.sheet-xp td{ + text-align: center; + border:1px solid gold; + border-radius:15px; + padding:5px; + color: white; +} + +.sheet-attrname { + font-weight:bold; + font-size: 16px; + width:145px; + background:transparent; + border:0px; + color:White; +} + +.sheet-skillblock { + margin-left:20px; +} + +.sheet-top { + border-bottom: 2px double gold; + display: inline-block; + width:100%; + padding-bottom: 5px; + margin-bottom: 5px; +} + +.sheet-blocklabel { + float: left; + font-weight:bold; + background:transparent; + border:0px; + color:White; + height: 100%; + vertical-align: middle; +} + + +.sheet-rolltemplate-basic div.sheet-template-container { + background: black; + color: white; + border: 2px solid gold !important; + border-radius: 10px; +} + +.sheet-rolltemplate-basic .sheet-template-header { + color: green; + padding: 2px; + border-bottom: 1px solid gold; + line-height: 1.6em; + font-size: 1.2em; + font-weight: bold; + font-variant: small-caps; + text-align: center; +} + +.sheet-rolltemplate-basic div { + padding: 5px; + border-bottom: 1px solid gold; +} + +.sheet-rolltemplate-basic .inlinerollresult { + display: inline-block; + min-width: 1.5em; + text-align: center; + border: 1px solid gold; + border-radius: 5px; + background: #333333; +} + +.sheet-rolltemplate-basic .inlinerollresult.fullcrit { + border: 1px solid gold; + background: green; +} + +.sheet-rolltemplate-basic .inlinerollresult.fullfail { + border: 1px solid gold; + background: red; +} + +.sheet-rolltemplate-basic .inlinerollresult.importantroll { + border: 1px solid gold; + background: blue; +} + +.sheet-rolltemplate-stat div.sheet-template-container { + background: black; + color: white; + border: 2px solid gold !important; + border-radius: 10px; +} + +.sheet-rolltemplate-stat .sheet-template-header { + color: green; + padding: 2px; + border-bottom: 1px solid gold; + line-height: 1.6em; + font-size: 1.2em; + font-weight: bold; + font-variant: small-caps; + text-align: center; +} + +.sheet-rolltemplate-stat div { + padding: 5px; + border-bottom: 1px solid gold; +} + +.sheet-rolltemplate-stat .inlinerollresult { + display: inline-block; + min-width: 1.5em; + text-align: center; + border: 1px solid gold; + border-radius: 5px; + background: #333333; +} + +.sheet-rolltemplate-stat .inlinerollresult.fullfail { + border: 1px solid gold; + background: #333333; +} + +.sheet-rolltemplate-stat .inlinerollresult.fullcrit { + border: 1px solid gold; + background: #333333; +} + +.sheet-rolltemplate-stat .inlinerollresult.importantroll { + border: 1px solid gold; + background: #333333; +} + +.sheet-rollbutton { + background: gold; + color: black; + border: 0; + cursor: pointer; + border-radius: 10px; +} + +.sheet-derstat { + width: 35px; + background: transparent; + color: white; + border: 0; + text-align: center; +} diff --git a/Elemental/elemental.html b/Elemental/elemental.html new file mode 100644 index 0000000000..0fbad6e22d --- /dev/null +++ b/Elemental/elemental.html @@ -0,0 +1,763 @@ +
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+
+
+
+
+ + Core +
+
+
+
+
Experience Points
+
+
+ Total + Spent + Sacrificed + Reserve +
+ + + + +
+
+
Attributes & Skills
+
+ + + + + +
+
+ + + + +
+
+
+
+
+ + + + + +
+
+ + + + +
+
+
+
+
+ + + + + +
+
+ + + + +
+
+
+
+
+ + + + + +
+
+ + + + +
+
+
+
+
+
Derived Statistics
+
+
+ +
+ / +
+
+
+ +
+ / +
+
+
+ +
+ / +
+
+
+ +
+ / +
+
+
Bonuses & Penalties
+
+
+ Attack +
+ +
+
+
+ Defense +
+ +
+
+
+ Damage +
+ +
+
+
+ Impairment Level +
+ + + + +
+
+
+ Injuries +
+ +
+
+
+ Move +
+ +
+
+
+ Init +
+ +
+
+
+ Spirit +
+ +
+
+
Notes
+
+ +
+
+
+
+
+
+
+ + Equipment +
+
+
Weapons
+
+
+ Name + Ammo + Rel + Range + DAM + AOE + Wt + Notes +
+
+ + + + + + + + +
+
+
+
+
Armor
+
+
+ Name + ARM + Wt +
+
+ + + +
+ +
+
+
Mounts & Vehicles
+
+
+ Name + Crew + AGI + Move + ARM + Health +
+
+ + + + + + +
+ +
+
+
+
+
Equipment
+
+
+ Name + Location + Wt +
+
+ + + +
+ +
+
+
+
+
+
+
+
+ + Spells & Powers +
+
+
Spells & Psionics
+
+
+ Name + DIF + Casting Time + Range + Duration + Notes +
+
+ + + + + + +
+
+
Powers
+
+
+ Name + Range + Description +
+
+ + + +
+
+
+
+
+ + +
+
+ + +
+
{{type}} Check
+
{{name}}: {{roll}} + {{#rollWasCrit() roll}} + + {{explode}} + {{#rollWasCrit() explode}} + Critical! + {{/rollWasCrit() explode}} + {{/rollWasCrit() roll}} +
+
+
+ + +
+
Stat Check
+
+ {{#rollTotal() check 12}} + Fumble {{name}}: {{check}} + {{/rollTotal() check 12}} + {{#rollTotal() check 2}} + Crit {{name}}: {{roll}} + {{/rollTotal() check 2}} + {{#rollBetween() check 3 11}} + {{name}}: {{check}} + {{/rollBetween() check 3 11}} +
+
+
+ + diff --git a/Elemental/elemental.png b/Elemental/elemental.png new file mode 100644 index 0000000000..33cdeb8871 Binary files /dev/null and b/Elemental/elemental.png differ diff --git a/Elemental/images/logo.png b/Elemental/images/logo.png new file mode 100644 index 0000000000..6db39a8554 Binary files /dev/null and b/Elemental/images/logo.png differ diff --git a/Elemental/sheet.json b/Elemental/sheet.json new file mode 100644 index 0000000000..4b0b32ccc0 --- /dev/null +++ b/Elemental/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "elemental.html", + "css": "elemental.css", + "authors": "Shawn P. Conlin", + "preview": "elemental.png", + "roll20userid": "2315022", + "instructions": "A character sheet for use with Elemental from Gildor Games. The sheet is designed to be generic since the RPG is not genre specific." +} diff --git a/Elemental/translation.json b/Elemental/translation.json new file mode 100644 index 0000000000..726765b8b0 --- /dev/null +++ b/Elemental/translation.json @@ -0,0 +1,130 @@ +{ + "name-u": "Name", + "title-u": "Title:", + "species-u": "Species:", + "total-u": "Total", + "spent-u": "Spent", + "sacrifice-u": "Sacrificed", + "reserve-u": "Reserve", + "attrskill-u": "Attributes & Skills", + "agi-u": "", + "flaws": "Flaws", + "assassination": "Assassination", + "athletics": "Athletics", + "cover": "Cover", + "driving": "Driving", + "grappling": "Grappling", + "marksmanship": "Marksmanship", + "missle_deflection": "Missle Deflection", + "multistrike": "Multistrike", + "piloting": "Piloting", + "riding": "Riding", + "sailing": "Sailing", + "sleight-of-hand": "Sleight-of-Hand", + "stealth": "Stealth", + "sworn_enemy": "Sworn Enemy*", + "team_tactics": "Team Tactics", + "unarmed_strike": "Unarmed Strike", + "weapon_mastery": "Weapon Mastery*", + "clumsiness": "Clumsiness", + "handicap": "Handicap", + "skillspec-u": "Specifics", + "tough-u": "", + "skills": "Skills", + "aquatic": "Aquatic", + "armored combat": "Armored Combat", + "charge": "Charge", + "endurance": "Endurance", + "mighty blow": "Mighty Blow", + "resistance": "Resistance*", + "second wind": "Second Wind", + "strength": "Strength", + "unlife": "Unlife", + "breathless": "Breathless", + "frailty": "Frailty", + "sunlight sensitivity": "Sunlight Sensitivity", + "vulnerability": "Vulnerability", + "weakness": "Weakness", + "aware-u": "", + "Skills": "Skills", + "appraisal": "Appraisal", + "arcane lore": "Arcane Lore", + "background": "Background*", + "computers": "Computers", + "criminology": "Criminology", + "fixing": "Fixing", + "heavy_weapon": "Heavy Weapon*", + "languages": "Languages*", + "locks_traps": "Locks & Traps", + "medicine": "Medicine", + "memory": "Memory", + "nightvision": "Nightvision", + "observation": "Observation", + "power_or_spell": "Power or Spell*", + "psychology": "Psychology", + "research": "Research", + "senses": "Senses", + "sixth sense": "Sixth Sense", + "survival": "Survival*", + "surgery": "Surgery", + "surveillance": "Surveillance", + "trivia": "Trivia", + "underworld": "Underworld", + "absent-mindedness": "Absent-Mindedness", + "blindness": "Blindness", + "deafness": "Deafness", + "will-u": "", + "animal_handling": "Animal Handling*", + "art": "Art*", + "bargaining": "Bargaining", + "battle_rage": "Battle Rage", + "command": "Command", + "focus": "Focus", + "followers": "Followers", + "impersonation": "Impersonation", + "intimidation_fear": "Intimidation/Fear", + "luck": "Luck", + "oratory": "Oratory", + "persuasion": "Persuasion", + "politics": "Politics", + "reputation": "Reputation*", + "street_smarts": "Street Smarts", + "trickery": "Trickery", + "addiction": "Addiction*", + "cowardice": "Cowardice", + "code_of_honor": "Code of Honor*", + "flashbacks": "Flashbacks", + "greed": "Greed*", + "outcast": "Outcast*", + "phobia": "Phobia*", + "unluck": "Unluck", + "unmistakable_feature": "Unmistakable Feature*", + "derstat": "Derived Statistics", + "health-u": "Health", + "move-u": "Move", + "init-u": "Init", + "spirit-u": "Spirit", + "bonus": "Bonuses & Penalties", + "arm-u": "ARM", + "injury": "Injuries", + "impair": "Impairment Level", + "atk": "Attack", + "defense": "Defense", + "damage": "Damage", + "ammo-u": "Ammo", + "rel-u": "Rel", + "rng-u": "Range", + "dam-u": "DAM", + "aoe-u": "AOE", + "wt-u": "Wt", + "notes-u": "Notes", + "crew-u": "Crew", + "agiabbr-u": "AGI", + "loc-u": "Location", + "dif-u": "DIF", + "cast-u": "Casting Time", + "dur-u": "Duration", + "meffect-u": "Description", + "sc-u": " Skill Check", + "statc-u": "Stat Check" +} diff --git a/Elemental/translations/en.json b/Elemental/translations/en.json new file mode 100644 index 0000000000..726765b8b0 --- /dev/null +++ b/Elemental/translations/en.json @@ -0,0 +1,130 @@ +{ + "name-u": "Name", + "title-u": "Title:", + "species-u": "Species:", + "total-u": "Total", + "spent-u": "Spent", + "sacrifice-u": "Sacrificed", + "reserve-u": "Reserve", + "attrskill-u": "Attributes & Skills", + "agi-u": "", + "flaws": "Flaws", + "assassination": "Assassination", + "athletics": "Athletics", + "cover": "Cover", + "driving": "Driving", + "grappling": "Grappling", + "marksmanship": "Marksmanship", + "missle_deflection": "Missle Deflection", + "multistrike": "Multistrike", + "piloting": "Piloting", + "riding": "Riding", + "sailing": "Sailing", + "sleight-of-hand": "Sleight-of-Hand", + "stealth": "Stealth", + "sworn_enemy": "Sworn Enemy*", + "team_tactics": "Team Tactics", + "unarmed_strike": "Unarmed Strike", + "weapon_mastery": "Weapon Mastery*", + "clumsiness": "Clumsiness", + "handicap": "Handicap", + "skillspec-u": "Specifics", + "tough-u": "", + "skills": "Skills", + "aquatic": "Aquatic", + "armored combat": "Armored Combat", + "charge": "Charge", + "endurance": "Endurance", + "mighty blow": "Mighty Blow", + "resistance": "Resistance*", + "second wind": "Second Wind", + "strength": "Strength", + "unlife": "Unlife", + "breathless": "Breathless", + "frailty": "Frailty", + "sunlight sensitivity": "Sunlight Sensitivity", + "vulnerability": "Vulnerability", + "weakness": "Weakness", + "aware-u": "", + "Skills": "Skills", + "appraisal": "Appraisal", + "arcane lore": "Arcane Lore", + "background": "Background*", + "computers": "Computers", + "criminology": "Criminology", + "fixing": "Fixing", + "heavy_weapon": "Heavy Weapon*", + "languages": "Languages*", + "locks_traps": "Locks & Traps", + "medicine": "Medicine", + "memory": "Memory", + "nightvision": "Nightvision", + "observation": "Observation", + "power_or_spell": "Power or Spell*", + "psychology": "Psychology", + "research": "Research", + "senses": "Senses", + "sixth sense": "Sixth Sense", + "survival": "Survival*", + "surgery": "Surgery", + "surveillance": "Surveillance", + "trivia": "Trivia", + "underworld": "Underworld", + "absent-mindedness": "Absent-Mindedness", + "blindness": "Blindness", + "deafness": "Deafness", + "will-u": "", + "animal_handling": "Animal Handling*", + "art": "Art*", + "bargaining": "Bargaining", + "battle_rage": "Battle Rage", + "command": "Command", + "focus": "Focus", + "followers": "Followers", + "impersonation": "Impersonation", + "intimidation_fear": "Intimidation/Fear", + "luck": "Luck", + "oratory": "Oratory", + "persuasion": "Persuasion", + "politics": "Politics", + "reputation": "Reputation*", + "street_smarts": "Street Smarts", + "trickery": "Trickery", + "addiction": "Addiction*", + "cowardice": "Cowardice", + "code_of_honor": "Code of Honor*", + "flashbacks": "Flashbacks", + "greed": "Greed*", + "outcast": "Outcast*", + "phobia": "Phobia*", + "unluck": "Unluck", + "unmistakable_feature": "Unmistakable Feature*", + "derstat": "Derived Statistics", + "health-u": "Health", + "move-u": "Move", + "init-u": "Init", + "spirit-u": "Spirit", + "bonus": "Bonuses & Penalties", + "arm-u": "ARM", + "injury": "Injuries", + "impair": "Impairment Level", + "atk": "Attack", + "defense": "Defense", + "damage": "Damage", + "ammo-u": "Ammo", + "rel-u": "Rel", + "rng-u": "Range", + "dam-u": "DAM", + "aoe-u": "AOE", + "wt-u": "Wt", + "notes-u": "Notes", + "crew-u": "Crew", + "agiabbr-u": "AGI", + "loc-u": "Location", + "dif-u": "DIF", + "cast-u": "Casting Time", + "dur-u": "Duration", + "meffect-u": "Description", + "sc-u": " Skill Check", + "statc-u": "Stat Check" +}