Files
roll20-character-sheets/Awfully Cheerful Engine!/ace.html
T
2024-06-03 13:15:14 -04:00

444 lines
30 KiB
HTML

<datalist id="rolelist">
<option value="--Talking Animals--">
<option value="Ape"></option>
<option value="Crow"></option>
<option value="Dog"></option>
<option value="Turtle"></option>
<option value="--Species--">
<option value="Alien"></option>
<option value="Dwarf"></option>
<option value="Elf"></option>
<option value="Ghost"></option>
<option value="Goblin"></option>
<option value="Golem"></option>
<option value="Hobbit"></option>
<option value="Monster"></option>
<option value="Ogre"></option>
<option value="Robot"></option>
<option value="Vampire"></option>
<option value="Werewolf"></option>
<option value="--Fantasy--">
<option value="Alchemist"></option>
<option value="Assassin"></option>
<option value="Barbarian"></option>
<option value="Cleric"></option>
<option value="Druid"></option>
<option value="Knight"></option>
<option value="Ninja"></option>
<option value="Outlaw"></option>
<option value="Pirate"></option>
<option value="Ranger"></option>
<option value="Samurai"></option>
<option value="Slayer"></option>
<option value="Wizard"></option>
<option value="--Occupations--">
<option value="Actor"></option>
<option value="Archeologist"></option>
<option value="Astronaut"></option>
<option value="Athlete"></option>
<option value="Bounty Hunter"></option>
<option value="Boxer"></option>
<option value="Burglar"></option>
<option value="Chef"></option>
<option value="Con Artist"></option>
<option value="Cowboy"></option>
<option value="Demonologist"></option>
<option value="Detective"></option>
<option value="Doctor"></option>
<option value="Engineer"></option>
<option value="Exorcist"></option>
<option value="Gambler"></option>
<option value="Gangster"></option>
<option value="Hacker"></option>
<option value="Hermit"></option>
<option value="Inventor"></option>
<option value="Musician"></option>
<option value="Pilot"></option>
<option value="Priest"></option>
<option value="Professor"></option>
<option value="Reporter"></option>
<option value="Scientist"></option>
<option value="Smuggler"></option>
<option value="Soldier"></option>
<option value="Spy"></option>
<option value="Student"></option>
<option value="Stuntman"></option>
<option value="Speedster"></option>
<option value="Vigilante"></option>
<option value="--Spirits of Manhattan--">
<option value="Demonologist"></option>
<option value="Doctor"></option>
<option value="Driver"></option>
<option value="Engineer"></option>
<option value="Exorcist"></option>
<option value="Ghost"></option>
<option value="Inventor"></option>
<option value="Priest"></option>
<option value="Professor"></option>
<option value="--Raiders of the Cutty Sarke--">
<option value="Botanist"></option>
<option value="Double-Agent"></option>
<option value="Socialite"></option>
<option value="Witch"></option>
<option value="--Strange Science--">
<option value="Brain"></option>
<option value="Cheerleader"></option>
<option value="Experiment"></option>
<option value="Outsider"></option>
<option value="Protector"></option>
<option value="Radio Presenter"></option>
<option value="Tycoon"></option>
<option value="--Beam Me Up--">
<option value="Captain"></option>
<option value="Chief Engineer"></option>
<option value="Comms Officer"></option>
<option value="Gunner"></option>
<option value="Hologram"></option>
<option value="Space Pilot"></option>
<option value="Ship Counsellor"></option>
</datalist>
<datalist id="traitlist">
<option>Abrasive</option>
<option>Affable</option>
<option>Angry</option>
<option>Apologetic</option>
<option>Awkward</option>
<option>Brave</option>
<option>Beautiful</option>
<option>Cautious</option>
<option>Cheerful</option>
<option>Childlike</option>
<option>Clumsy</option>
<option>Cocky</option>
<option>Cowardly</option>
<option>Cynical</option>
<option>Dedicated</option>
<option>Eccentric</option>
<option>Elderly</option>
<option>Evil</option>
<option>Excitable</option>
<option>Greedy</option>
<option>Gullible</option>
<option>Forgetful</option>
<option>Hardy</option>
<option>Heroic</option>
<option>Honest</option>
<option>Impulsive</option>
<option>Inattentive</option>
<option>Intellectual</option>
<option>Kindly</option>
<option>Klepto</option>
<option>Lazy</option>
<option>Logical</option>
<option>Lustful</option>
<option>Naive</option>
<option>Obsessive</option>
<option>Optimistic</option>
<option>Paranoid</option>
<option>Passionate</option>
<option>Phobic</option>
<option>Punk Rock</option>
<option>Rebellious</option>
<option>Quiet</option>
<option>Sassy</option>
<option>Sentimental</option>
<option>Shy</option>
<option>Smelly</option>
<option>Squeamish</option>
<option>Suave</option>
<option>Sultry</option>
<option>Teenage</option>
<option>Tiny</option>
<option>Unlucky</option>
<option>Vain</option>
</datalist>
<datalist id="smartslist">
<option>Medicine</option>
<option>[Sciences]*</option>
<option>History</option>
<option>Engineering</option>
<option>Computers</option>
<option>Languages</option>
<option>Perception</option>
<option>Theology</option>
<option>Nature</option>
<option>Occultism</option>
<option>Accounting</option>
</datalist>
<datalist id="moveslist">
<option>Dodging</option>
<option>Shooting**</option>
<option>Acrobatics</option>
<option>Running</option>
<option>Stealth</option>
<option>Thievery</option>
<option>Driving</option>
<option>Riding</option>
<option>Piloting</option>
<option>Sailing</option>
</datalist>
<datalist id="stylelist">
<option>Bluffing</option>
<option>Dancing</option>
<option>Disguise</option>
<option>Persuasion</option>
<option>Music</option>
<option>Animals</option>
<option>Gambling</option>
<option>Wealth</option>
</datalist>
<datalist id="brawnlist">
<option>Brawling**</option>
<option>Climbing</option>
<option>Swimming</option>
<option>Carrying</option>
<option>Intimidating</option>
<option>Sports</option>
<option>Parrying</option>
<option>Tough</option>
</datalist>
<datalist id="powerlist">
<option>Fire</option>
<option>Insects</option>
<option>Ice</option>
<option>Plants</option>
<option>Light</option>
<option>Darkness</option>
<option>Mind</option>
</datalist>
<div>
<button type="action" name="act_character" >Character</button>
<button type="action" name="act_spaceship" >SpaceShip</button>
</div>
<input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="character"/>
<div class="sheet-character">
<div class="sheet-container">
<div class="sheet-header">&nbsp;</div>
<div class="sheet-nametitle"><span class=sheet-name-title">Name</span></div>
<div class="sheet-namescore"><input name="attr_character_name" type="text"></div>
<div class="sheet-aceidcard">&nbsp;</div>
<div class="sheet-ace"><span class="sheet-ace">&nbsp;ACE!</span></div>
<div class="sheet-idcard"><span class="sheet-idcard">ID CARD</span></div>
<div class="sheet-spacer3">&nbsp;</div>
<div class="sheet-traitroletitle"><span class="sheet-traitroletitle">Trait/Role</span></div>
<div class="sheet-traitscore"><input name="attr_trait" list="traitlist" type="text"></div>
<div class="sheet-rolescore"><input name="attr_role" list="rolelist" type="text"></div>
<div class="sheet-spacer5">&nbsp;</div>
<div class="sheet-healthtitle"><span class="sheet-healthtitle">Health</span></div>
<div class="sheet-healthcurrentscore"><input name="attr_currenthealth" type="number"></div>
<div class="sheet-healthscore"><input name="attr_health" type="number"></div>
<div class="sheet-healthdivider"><span class="sheet-healthdivider">/</span></div>
<div class="sheet-healthscore"><input name="attr_health" type="number"></div>
<div class="sheet-defencetitle"><span class="sheet-defencetitle">Defence</span></div>
<div class="sheet-defencescore"><span class="sheet-defencescore" name="attr_defence"></div>
<div class="sheet-karmatitle"><span class="sheet-karmatitle">Karma</span></div>
<div class="sheet-karmascore"><input name="attr_karma" type="number" value=6 max=10></div>
<div class="sheet-spacer7">&nbsp;</div>
<div class="sheet-smartstitle"><button class="d6-dice" name="roll_smarts" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{smarts}-1+?{Bonus Dice}]]d6!]]]] {{name=Smarts}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Smarts</button></div>
<div class="sheet-movestitle"><button name="roll_moves" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{moves}-1+?{Bonus Dice}]]d6!]]]] {{name=Moves}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Moves</button></div>
<div class="sheet-styletitle"><button name="roll_style" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{style}-1+?{Bonus Dice}]]d6!]]]] {{name=Style}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Style</button></div>
<div class="sheet-brawntitle"><button name="roll_brawn" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{brawn}-1+?{Bonus Dice}]]d6!]]]] {{name=Brawn}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Brawn</button></div>
<div class="sheet-powertitle"><button name="roll_power" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{power}-1+?{Bonus Dice}]]d6!]]]] {{name=Power}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Power</button></div>
<div class="sheet-smartsscore"><input name="attr_smarts" type="number" min=1 value=1></div>
<div class="sheet-smartfocusscore"><input name="attr_smartfocus" type="text" list="smartslist"></div>
<div class="sheet-movesscore"><input name="attr_moves" type="number" min=1 value=1></div>
<div class="sheet-movefocusscore"><input name="attr_movefocus" type="text" list="moveslist"></div>
<div class="sheet-stylescore"><input name="attr_style" type="number" min=1 value=1></div>
<div class="sheet-stylefocusscore"><input name="attr_stylefocus" type="text" list="stylelist"></div>
<div class="sheet-brawnscore"><input name="attr_brawn" type="number" min=1 value=1></div>
<div class="sheet-brawnfocusscore"><input name="attr_brawnfocus" type="text" list="brawnlist"></div>
<div class="sheet-powerscore"><input name="attr_power" type="number" min=0 value=0></div>
<div class="sheet-powerfocusscore"><input name="attr_powerfocus" type="text" list="powerlist"></div>
<div class="sheet-abilityscore"><textarea name="attr_ability"></textarea></div>
<div class="sheet-version">ver: 1.0</div>
<div class="sheet-footer">&nbsp;</div>
</div>
</div>
<div class="sheet-spaceship">
<div class="sheet-container">
<div class="sheet-header">&nbsp;</div>
<div class="sheet-nametitle"><span class=sheet-name-title">Name</span></div>
<div class="sheet-namescore"><input name="attr_character_name" type="text"></div>
<div class="sheet-aceidcard">&nbsp;</div>
<div class="sheet-ace"><span class="sheet-ace">&nbsp;ACE!</span></div>
<div class="sheet-idcard"><span class="sheet-idcard">ID CARD</span></div>
<div class="sheet-spacer3">&nbsp;</div>
<div class="sheet-traitroletitle"><span class="sheet-traitroletitle">Trait/Role</span></div>
<div class="sheet-traitscore"><input name="attr_trait" list="traitlist" type="text"></div>
<div class="sheet-rolescore"><input name="attr_role" list="rolelist" type="text"></div>
<div class="sheet-spacer5">&nbsp;</div>
<div class="sheet-healthtitle"><span class="sheet-healthtitle">Health</span></div>
<div class="sheet-healthcurrentscore"><input name="attr_currenthealth" type="number"></div>
<div class="sheet-healthscore"><input name="attr_health" type="number"></div>
<div class="sheet-healthdivider"><span class="sheet-healthdivider">/</span></div>
<div class="sheet-healthscore"><input name="attr_health" type="number"></div>
<div class="sheet-defencetitle"><span class="sheet-defencetitle">Defence</span></div>
<div class="sheet-defencescore"><span class="sheet-defencescore" name="attr_defence"></div>
<div class="sheet-karmatitle"><span class="sheet-karmatitle">Karma</span></div>
<div class="sheet-karmascore"><input name="attr_karma" type="number" value=6 max=10></div>
<div class="sheet-spacer7">&nbsp;</div>
<div class="sheet-smartstitle"><button class="d6-dice" name="roll_science" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{smarts}-1+?{Bonus Dice}]]d6!]]]] {{name=Science}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Science</button></div>
<div class="sheet-movestitle"><button name="roll_warp" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{moves}-1+?{Bonus Dice}]]d6!]]]] {{name=Warp}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Warp</button></div>
<div class="sheet-styletitle"><button name="roll_shields" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{style}-1+?{Bonus Dice}]]d6!]]]] {{name=Shields}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Shields</button></div>
<div class="sheet-brawntitle"><button name="roll_size" type="roll" value="&{template:skill} ?{Bonus Dice|0} [[[[1d6!]]+[[[[@{brawn}-1+?{Bonus Dice}]]d6!]]]] {{name=Size}}{{calamity=$[[0]]}}{{subs=$[[2]]}}{{skill=$[[3]]}}">Size</button></div>
<div class="sheet-smartsscore"><input name="attr_smarts" type="number" min=1 value=1></div>
<div class="sheet-smartfocusscore"><input name="attr_smartfocus" type="text" list="smartslist"></div>
<div class="sheet-movesscore"><input name="attr_moves" type="number" min=1 value=1></div>
<div class="sheet-movefocusscore"><input name="attr_movefocus" type="text" list="moveslist"></div>
<div class="sheet-stylescore"><input name="attr_style" type="number" min=1 value=1></div>
<div class="sheet-stylefocusscore"><input name="attr_stylefocus" type="text" list="stylelist"></div>
<div class="sheet-brawnscore"><input name="attr_brawn" type="number" min=1 value=1></div>
<div class="sheet-brawnfocusscore"><input name="attr_brawnfocus" type="text" list="brawnlist"></div>
<div class="sheet-abilityscore"><textarea name="attr_ability"></textarea></div>
<div class="sheet-version">ver: 1.0</div>
<div class="sheet-footer">&nbsp;</div>
</div>
</div>
<rolltemplate class="sheet-rolltemplate-skill">
<div class="container">
<div class="rollheader">{{name}}</div>
<div class="rollrow1">Total: {{skill}}</div>
<div class="rollrow2">Calamity: {{calamity}} | Other: {{subs}}</div>
{{#rollTotal() calamity 1}}
<div class="rollcalamity">CALAMITY</div>
{{/rollTotal() calamity 1}}
</div>
</rolltemplate>
<script type="text/worker">
const buttonlist = ["character","spaceship"];
buttonlist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
sheetTab: button
});
});
});
on('change:role', event => {
const roledetails = {
"Ape": {power: "0", ability:"You're a walking, talking ape! You can jump 30 feet in the air with no effort."},
"Crow": {power: "0", ability:"You can fly. That's good, isn't it? It doesn't have to be a crow; you can pick a different bird if you want."},
"Dog": {power: "0", ability:"A loyal companion, if there's something to smell you can always smell it. Also, sometimes you smell."},
"Turtle": {power: "0", ability:"A hero in a half shell, you reduce all damage done to you by 1 point. "},
"Alien": {power: "1", ability:"You have psychic powers! You have a Power stat, although you don't get extra points to distribute."},
"Dwarf": {power: "0", ability:"Grumpy, and with a Scottish accent (if you want), you can appraise the value of things with a single glance."},
"Elf": {power: "0", ability:"You're very sneaky, and when in natural surroundings, you can be effectively invisible."},
"Ghost": {power: "0", ability:"You don't take damage unless its from a holy source or some special sci-fi ectogadget. But you also can't pick things up. So there's that."},
"Goblin": {power: "0", ability:"Vicious little scrapper, you can snatch small items from your opponent instead of attacking."},
"Golem": {power: "0", ability:"You may be slow (you always go last in the turn) but you also take half damage (round up) because you're, like, made of stone or metal or something."},
"Hobbit": {power: "0", ability:"You're a brave little hobbit. Hobbits have tremendous reserves of courage, so you might be scared, but you are never affected by fear."},
"Monster": {power: "0", ability:"Grrr! I'm a monster! You're very scary. If you make a Style check against somebody's Style, they have to run away for a minute. You can only do it to them once though."},
"Ogre": {power: "0", ability:"Big, scary ogre. If you don't put loads of points into your Brawn Stat you're going wrong somewhere. Anyway, you get an extra +1 to your Brawn Stat, and an extra +2 Health."},
"Robot": {power: "0", ability:"I AM A ROBOT! You're basically immune to fear and mental stuff. Cuz you're a robot."},
"Vampire": {power: "0", ability:"Creature of the night! When you make an unarmed melee attack, you gain 1 Health as you suck your victim's blood. But you can't go out in the sunlight."},
"Werewolf": {power: "0", ability:"You take double damage from silver weapons, but you do get to turn into a wolf at night. You have the same stats, but you're a wolf."},
"Alchemist": {power: "0", ability:"You know potions and stuff. You can spend an hour to make a potion that cures any ailment, curse, or disease."},
"Assassin": {power: "0", ability:"You're so good at killing people. You do double damage on your first attack against somebody."},
"Barbarian": {power: "0", ability:"In tune with nature and good at smashing stuff. When outdoors, in a natural environment add 1 to all your damage scores."},
"Cleric": {power: "0", ability:"You can turn the undead. Make a Style check vs. their Defence. If you succeed they can't come within 10 feet of you for an hour."},
"Druid": {power: "0", ability:"You can speak to animals. That doesn't make them suddenly intelligent, though."},
"Knight": {power: "0", ability:"Chivalry is your middle name. You can take damage for an adjacent ally."},
"Ninja": {power: "0", ability:"You can turn invisible for a minute once a day."},
"Outlaw": {power: "0", ability:"You're wanted by the law! Wait, that's not a useful ability. But you do have a free hideout where you can't be found."},
"Pirate": {power: "0", ability:"Scourge of the Seven Seas! Aaar matey! You have either a hook hand (+1 unarmed damage) or a parrot. Or both, if you like."},
"Ranger": {power: "0", ability:"You are amazing at tracking things. In outdoor environments you can stay on the trail of another person or creature as long as you are no more than a day behind."},
"Samurai": {power: "0", ability:"You can spend a Karma point to use your Ki! When you do that, your attack with your deadly katana does double damage."},
"Slayer": {power: "0", ability:"What do you slay? Vampires? Probably. You do double damage to the thing you slay."},
"Wizard": {power: "1", ability:"You can do magic! You have a Power stat, although you don't get extra points to distribute."},
"Actor": {power: "0", ability:"Star of stage and screen, you are great at pretending to be somebody else. Your disguises always work."},
"Archeologist": {power: "0", ability:"You've raided tombs and lost arks. If there's a trap, you can spend a Karma point to circumvent it."},
"Astronaut": {power: "0", ability:"All that time in zero-g means you just don't get sick any more. You're immune to the feeling of nausea."},
"Athlete": {power: "0", ability:"You can move twice as far in your turn. Normally you can move 10 feet per point of Moves, but you're an Athlete you can move 20 feet per point of Moves!"},
"Bounty Hunter": {power: "0", ability:"You can spend a day, and at the end of it determine the location of any individual person or creature. Catching them might be another matter!"},
"Boxer": {power: "0", ability:"With a quick One-Two, and swift K.O., you really know how to punch. Your unarmed damage increases by 1. And also, once per day, when you would normally be Knocked Out, you can choose to remain on 1 Health."},
"Burglar": {power: "0", ability:"Sneaky does it! Up that wall, through the window, crack the safe! Locks mean nothing to you."},
"Chef": {power: "0", ability:"You can cook up an amazing meal in an hour, which gives everybody 1 Health back. Plus you do +1 damage with knives."},
"Con Artist": {power: "0", ability:"Liar, liar, pants on fire! You have a collection of very convincing fake IDs, and can pull out any one you need at a moment's notice."},
"Cowboy": {power: "0", ability:"Yeehaw! Fastest gun in the West! When deciding who gets to go first, you get a quick shot in before it all kicks off."},
"Detective": {power: "0", ability:"Are there any clues? If there are, you spot them automatically. You don't even have to roll any dice!"},
"Doctor": {power: "0", ability:"Medic! You can heal people. For every Karma point you spend, you heal somebody (or yourself) one point of damage. This takes you a minute."},
"Engineer": {power: "0", ability:"If something is broken, you can fix it within an hour. Well, within reason. Not like the Golden Gate Bridge or something, but a vending machine or a car."},
"Gambler": {power: "0", ability:"You rely on luck. Any time when there's equal chances of something, you can spend a Karma point and it works out in your favor."},
"Gangster": {power: "0", ability:"You know how to make someone an offer they can't refuse. You gain the Intimidation Focus for free, in addition to whatever other Focus you choose for your Brawn Stat."},
"Hacker": {power: "0", ability:"Breaking into computer systems is what you do. You can circumvent computer security. It usually takes you about an hour."},
"Hermit": {power: "0", ability:"You live alone. People aren't much use to you. When you're acting alone, without allies, you get an extra die."},
"Inventor": {power: "0", ability:"A gadget for every occasion. You can spend a Karma point to pull out a gadget which helps you with your next dice roll. You have to describe the gadget. Basically, you get double value from Karma points-two extra dice instead of one. "},
"Musician": {power: "0", ability:"Sing me a song, oh music man! You can make music, and everyone who can hear it is affected. Roll your Style Stat vs. their Smarts Stat, or they are basically dazed for a minute. Unless you do something to snap them out of it like hit them or make a loud noise. After the minute they can't be affected again."},
"Pilot": {power: "0", ability:"You know how to fly planes. Or spaceships."},
"Priest": {power: "0", ability:"The undead cannot harm you. They're still pretty scary, though."},
"Professor": {power: "0", ability:"You know stuff. You get free Focuses in History, Languages, and Theology."},
"Reporter": {power: "0", ability:"Nothing can keep you from that scoop! You know how to ask the right question. Ask an Extra a question. You get the answer if they know it. Just the one question, mind, so choose wisely!"},
"Scientist": {power: "0", ability:"If a monster has a weakness, you know it automatically. It's just a question of physics."},
"Smuggler": {power: "0", ability:"You're pretty good at hiding things. If you have something hidden about your person, or in your vehicle, or your spaceship, or your well, you get the idea. Anyway, they won't find it."},
"Soldier": {power: "0", ability:"You are great at tactics. When deciding who goes first, it's you."},
"Spy": {power: "0", ability:"You know how to make the bad guy give you a monologue explaining their whole plan. Weirdly, time kinda freezes while they do it. Then they laugh manically, or something."},
"Student": {power: "0", ability:"Funny how heroes often seem to be high school kids! You have homework, and the principal is on your back. But you can pretty much get away with stuff because you're a kid. People just overlook you. More fool them!"},
"Stuntman": {power: "0", ability:"You never seem to get injured. You take damage, but you always manage to get up againyou recover ALL your Health every day."},
"Speedster": {power: "0", ability:"You go fast. Real fast. Each turn you get two actions instead of one."},
"Vigilante": {power: "0", ability:"Dark crusader of the night? Ex-cop out for revenge? The criminals are all afraid of you, and rightly so. I mean, we're afraid of you and we're just the writers of this game. Make a Style roll vs. a criminal's Smarts, and if you win they basically surrender and beg you not to hurt them. If you lose, they laugh and probably try to kill you."},
"Demonologist": {power: "0", ability:"You know how to hurt demons. You do an extra point of damage whenever you successfully attack a demon."},
"Driver": {power: "0", ability:"When youre driving somewhere, you get there in half the time."},
"Exorcist": {power: "0", ability:"By chanting prayers and holding forth the symbol of your faith, you can make a Style attack against a ghost or demon's Defence, and if you are successful you do 1 point of damage to them and they cannot approach you for one minute."},
"Botanist": {power: "0", ability:"You love plants. Prickly, poisonous, or perfumed, you appreciate them all and often talk to as if they're old friends. You can identify any plant without a roll, including substances made from plants. We're looking at you, poisons. Also, plant creatures won't attack you. Everyone else is fair game, though."},
"Double-Agent": {power: "0", ability:"You're a bit like a spy, only you enjoy dressing up in the uniform of the bad guys and gals. If you put on an enemy uniform to fool your foes, your disguise always works."},
"Socialite": {power: "0", ability:"You are one of the social elite. Or perhaps your fame or notoriety means you get invited to all the top parties. Either way, your name is always on the guest list."},
"Witch": {power: "0", ability:"You made a deal with the devil. It cost you your soul, but hey, at least you gained some supernatural gifts. You have a Power stat. You can also use your Evil Eye to steal Karma from others. Make an opposed roll against a target's Smarts. If it succeeds, the target loses 1 Karma point and you gain 1."},
"Brain": {power: "0", ability:"You're clever and you know stuff. Usually the stuff you know is really nerdy. Sometimes it's actually useful. You can spend a Karma point to ask the Director a single yes/no' question which they will answer honestly. Oh, and clever cogs -- the question should be about the game, not the Director's personal life!"},
"Cheerleader": {power: "0", ability:"Everybody loves you (or at least pretends to). Plus you can do acrobatics and stuff. But mainly, you can cheer people on to be their best selves. You are able to grant your Karma points to your friends."},
"Experiment": {power: "0", ability:"You have telepathic powers! You have a Power score which you can use in the ways described in ACE! #1"},
"Outsider": {power: "0", ability:"You don't fit in. Always a loner, you have learned to be very observant and you always know when somebody is lying."},
"Protector": {power: "0", ability:"You're in security. All you care about is helping others. If one of your fellow Heroes takes damage, you can choose to take it for them."},
"Radio Presenter": {power: "0", ability:"A face made for radio, eh? Your weapon of choice is your voice, and you know how to use it. You can make a Style check vs. Smarts to mesmerize somebody for one minute. If it doesn't work, though, they find you really annoying."},
"Tycoon": {power: "0", ability:"You're not just a businessperson, you're a successful businessperson! Well done, you! Choose $1,000,000 worth of property and gear and stuff. It's yours. You earned it."},
"Captain": {power: "0", ability:"You command a starship. Yes, you! You are so goddamn inspiring that you have 10 Karma instead of 6. That's how goddamn inspiring you are! You can also spend your Karma on another Hero's behalf, granting them one of the benefits from p. 15 of the core rules, although you can't do this if they've spent their own Karma in the same round."},
"Chief Engineer": {power: "0", ability:"To you, starships are a living, breathing thing to need just as much tender loving care as any other species. Once per day if you are in the engineering section, you can spend a Karma point to cause a starship to regain 1 Health or 1 Shield without a roll, or to make your ship go one warp speed factor faster than the Owner's Manual says you should be able to. The warranty is voided if you do this, but when did that ever stop you?"},
"Comms Officer": {power: "0", ability:"Communication is key when you're out travelling the galaxy meeting any number of new species. Especially when there won't always be a universal translator to hand. You can understand and speak any language you encounter."},
"Gunner": {power: "0", ability:"Security might get to blase hostile aliens but you get to go pew! pew! with a starship! If you're on the bridge and in control of the ship's weapons, increase any damage the weapons cause by 1."},
"Hologram": {power: "0", ability:"You are a hologram that manifests an advanced artificial intelligence to fulfil a specific role within the ship. You don't have a Health score and can't go unconscious or die, although destroying the synthesizer that lets you join away crews or the destruction of your starship will be pretty bad for you. Oh, and you can't physically interact with anything. But you can, like, talk and stuff."},
"Space Pilot": {power: "0", ability:"Yes, you know how to fly starships. But you can also get them to do cool stuff! You can spend a Karma point to increase a starship's Moves by 1 for one round. (And yep, that does modify the starship's Defence for the round, in case you were about to ask!)"},
"Ship Counsellor": {power: "0", ability:"You're not only a great listener but also know how to bring people around to a more positive outlook on things. People talk to you. A lot. Once per day per Hero, you can spend a minute listening to their problems and help them regain 1 Health. Also, you always know when somebody is lying."}
};
getAttrs(["role"], values => {
let name = values.role;
let output = roledetails[name] || "";
if(output) setAttrs(output);
});
});
on("change:moves change:movefocus", function() {
getAttrs(["moves","movefocus"], function(values) {
var moves = parseInt(values["moves"])||0;
var movefocus = values["movefocus"]||"";
var defence = moves * 3;
if (movefocus == "Dodging") {defence = defence + 6;}
setAttrs({
"defence": defence,
});
});
});
on("change:brawn change:brawnfocus", function() {
getAttrs(["brawn","brawnfocus"], function(values) {
var brawn = parseInt(values["brawn"])||0;
var brawnfocus = values["brawnfocus"]||"";
var health = brawn;
if (brawnfocus == "Tough") {health = health + 2;}
setAttrs({
"health" : health,
});
});
});
</script>