diff --git a/EngineHeart/README.md b/EngineHeart/README.md index 4ea9d8564e..b1c96198f6 100644 --- a/EngineHeart/README.md +++ b/EngineHeart/README.md @@ -6,4 +6,6 @@ that were left behind fend for themselves, doing the best they can. Engine Heart official web site: http://www.viralgamespublishing.com/2.html +Icon graphics used with permission from Viral Games. + Please enjoy! diff --git a/EngineHeart/less/index.less b/EngineHeart/less/index.less index 4fdf78c9a5..3a3ec38053 100644 --- a/EngineHeart/less/index.less +++ b/EngineHeart/less/index.less @@ -16,6 +16,7 @@ } .attributes { + margin-bottom: 32px; width: 100%; .attribute { @@ -52,7 +53,51 @@ } } + .attrsHeader { + margin-bottom: 10px; + + h2 { + display: inline-block; + line-height: 1em; + max-width: 2in; + vertical-align: middle; + } + + .boxedIcon { + display: inline-block; + height: 60px; + vertical-align: middle; + width: 60px; + + &.iconChassis { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconChassis.png"); + } + + &.iconCrux { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconCrux.png"); + } + + &.iconIntelligence { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconIntelligence.png"); + } + + &.iconMovement { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconMovement.png"); + } + + &.iconPhysicalInteraction { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconPhysicalInteraction.png"); + } + + &.iconThresholds { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconThresholds.png"); + } + } + } + .featuresDefects { + margin-bottom: 32px; + table { font-size: 10px; margin-left: 8px; @@ -97,6 +142,7 @@ } .secondaryAttrs { + margin-bottom: 32px; width: 100%; .attribute { diff --git a/EngineHeart/pug/attributes.pug b/EngineHeart/pug/attributes.pug index 3a6df25d21..8883838125 100644 --- a/EngineHeart/pug/attributes.pug +++ b/EngineHeart/pug/attributes.pug @@ -10,18 +10,18 @@ mixin attribute(label, attr, title) +bubble('MODIFIER'): +input('number', attr + '_mod') .attributes - .column.attrsIntelligence + .column .attrsHeader - .boxedIcon + .boxedIcon.iconIntelligence h2 INTELLIGENCE .attrsInner +attribute('RealityCom', 'rcom', 'Defines how well a robot understands cause and effect in the physical world.') +attribute('HumanCom', 'hcom', 'Defines how well a robot understands human minds or organic actions.') +attribute('DigiCon', 'dcon', 'Defines how adept a robot is at interacting with non-physical systems like computers.') +attribute('MechaniCon', 'mcon', 'Defines how adept a robot is at interacting with mechanical systems.') - .column.attrsChassis + .column .attrsHeader - .boxedIcon + .boxedIcon.iconChassis h2 CHASSIS .attrsInner +attribute('Dexterity', 'dex', 'Measures the degree of fine motor control ncessary for interaction with the outside world.') @@ -29,9 +29,9 @@ mixin attribute(label, attr, title) +attribute('Perception', 'per', 'Determines the variety and quality of sensors mounted, as well as information relayed back.') +attribute('Reflexes', 'ref', 'Determines response lag and overall speed of animation.') +attribute('Strength', 'str', 'Determines the robot\'s maximum load capacity and ability to inflict brute-force damage on other objects.') - .column.attrsCrux + .column .attrsHeader - .boxedIcon + .boxedIcon.iconCrux h2 CRUX .attrsInner +attribute('Durability', 'dur', 'Measures how much damage a robot can withstand before ceasing operation or being destroyed.') diff --git a/EngineHeart/pug/index.pug b/EngineHeart/pug/index.pug index 764d601f10..89aca38785 100644 --- a/EngineHeart/pug/index.pug +++ b/EngineHeart/pug/index.pug @@ -11,7 +11,7 @@ include fields.pug div +labelledLeft('ORIGINAL PURPOSE')(style='width: 100%;'): +input('text', 'originalPurpose') .column.points - +bubble('POINTS'): +input() + +bubble('POINTS'): +input('number', 'points') include attributes.pug include secondaryAttributes.pug diff --git a/EngineHeart/pug/secondaryAttributes.pug b/EngineHeart/pug/secondaryAttributes.pug index 078476d133..7cf75e812a 100644 --- a/EngineHeart/pug/secondaryAttributes.pug +++ b/EngineHeart/pug/secondaryAttributes.pug @@ -17,29 +17,29 @@ mixin threshold(label, attr, title) +bubble('CURRENT')(title=title): +input('number', attr) .secondaryAttrs - .column.attrsPhysicalInteraction + .column .attrsHeader - .boxedIcon - label Physical interaction + .boxedIcon.iconPhysicalInteraction + h2 Physical interaction .attrsInner .intPool.rollable +secAttr('Interaction Pool', 'intPool', '(Dex + Ref) This is the dice pool a robot has to strike, grab, or otherwise manually interact with an unwilling robot or other mobile object.') +rollButton('intPool_calc') +secAttr('TN to be struck', 'tn2bStruck', '(Mobil + Ref) A robot\'s TN to be struck may not be higher than 10.') +secAttr('Damage from Strike', 'dmgFromStrike', '(Str/2, round down) This is how much damage a robot can inflict by simply smashing its body or limbs into another object.') - .column.attrsMovement + .column .attrsHeader - .boxedIcon - label Movement + .boxedIcon.iconMovement + h2 Movement .attrsInner .initiative.rollable +secAttr('Initiative', 'initiative', '(1d10 + Ref) This measures which robots will act first in a conflict or other event where multiple robots attempt to act before each other.') +rollButton('initiative_calc') +secAttr('Speed', 'speed', '(Mobil + Ref) This determines how fast a robot can move from one place to another. A robot\'s speed is equal to its speed in kilometers per hour during long journeys, or meters per round during conflict situations.') - .column.attrsThresholds + .column .attrsHeader - .boxedIcon - label Thresholds + .boxedIcon.iconThresholds + h2 Thresholds .attrsInner +threshold('OS Threshold', 'osThreshold', '(DigiCon + Buffer) This is a measure of how resilient and self-sustaining the robot\'s "brain" is.') +threshold('Damage Threshold', 'dmgThreshold', '(Durability + Size) This is a measure of how hardy and resilient the robot\'s physical body is.') diff --git a/EngineHeart/sheet.css b/EngineHeart/sheet.css index b21cb5c64b..914aad87c2 100644 --- a/EngineHeart/sheet.css +++ b/EngineHeart/sheet.css @@ -260,6 +260,7 @@ display: inline-block; } .charsheet .sheet-attributes { + margin-bottom: 32px; width: 100%; } .charsheet .sheet-attributes .sheet-attribute { @@ -290,6 +291,42 @@ vertical-align: top; width: 33%; } +.charsheet .sheet-attrsHeader { + margin-bottom: 10px; +} +.charsheet .sheet-attrsHeader h2 { + display: inline-block; + line-height: 1em; + max-width: 2in; + vertical-align: middle; +} +.charsheet .sheet-attrsHeader .sheet-boxedIcon { + display: inline-block; + height: 60px; + vertical-align: middle; + width: 60px; +} +.charsheet .sheet-attrsHeader .sheet-boxedIcon.sheet-iconChassis { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconChassis.png"); +} +.charsheet .sheet-attrsHeader .sheet-boxedIcon.sheet-iconCrux { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconCrux.png"); +} +.charsheet .sheet-attrsHeader .sheet-boxedIcon.sheet-iconIntelligence { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconIntelligence.png"); +} +.charsheet .sheet-attrsHeader .sheet-boxedIcon.sheet-iconMovement { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconMovement.png"); +} +.charsheet .sheet-attrsHeader .sheet-boxedIcon.sheet-iconPhysicalInteraction { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconPhysicalInteraction.png"); +} +.charsheet .sheet-attrsHeader .sheet-boxedIcon.sheet-iconThresholds { + background: url("https://raw.githubusercontent.com/Cazra/roll20-character-sheets/engineHeart/EngineHeart/img/iconThresholds.png"); +} +.charsheet .sheet-featuresDefects { + margin-bottom: 32px; +} .charsheet .sheet-featuresDefects table { font-size: 10px; margin-left: 8px; @@ -323,6 +360,7 @@ width: 55%; } .charsheet .sheet-secondaryAttrs { + margin-bottom: 32px; width: 100%; } .charsheet .sheet-secondaryAttrs .sheet-attribute { diff --git a/EngineHeart/sheet.html b/EngineHeart/sheet.html index 6d90f8f1e7..1a6060dee8 100644 --- a/EngineHeart/sheet.html +++ b/EngineHeart/sheet.html @@ -30,15 +30,15 @@